Có thể bạn quan tâm: Excel Không Gõ Được Chữ: Nguyên Nhân, Giải Pháp Và Cách Khắc Phục Hiệu Quả
Mở Đầu
Trong môi trường làm việc với dữ liệu, Microsoft Excel luôn là công cụ không thể thiếu. Một trong những nhu cầu thường gặp của người dùng là chuyển đổi số thành dạng văn bản (text). Việc này không chỉ giúp hiển thị dữ liệu đẹp mắt hơn mà còn hỗ trợ các thao tác xử lý, so sánh, hoặc tạo báo cáo chuyên nghiệp. Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những cách đơn giản nhất cho tới các kỹ thuật nâng cao, giúp bạn biến số thành chữ trong Excel một cách nhanh chóng và hiệu quả.
Có thể bạn quan tâm: Excel Không Có Hàm Datedif: Giải Pháp Thay Thế Và Ứng Dụng Thực Tiễn
1. Tại Sao Cần Chuyển Số Thành Văn Bản?
1.1. Định dạng hiển thị
- Thêm ký tự đặc biệt: Ví dụ, muốn hiển thị “$1000” thay vì “1000”.
- Giữ nguyên định dạng khi sao chép: Khi copy sang Word hoặc PowerPoint, dữ liệu dạng text sẽ không bị thay đổi định dạng.
1.2. Xử lý dữ liệu
- So sánh chuỗi: Các hàm như
VLOOKUP,MATCHhoạt động tốt hơn khi dữ liệu được định dạng đồng nhất. - Kết hợp dữ liệu: Khi dùng hàm
CONCATENATEhoặc&, việc chuyển số thành text giúp tránh lỗi “#VALUE!”.
1.3. Tạo báo cáo, biểu mẫu
- In ấn: Các mẫu hợp đồng, báo cáo tài chính thường yêu cầu hiển thị số dưới dạng chữ (ví dụ: “Một triệu đồng”).
- Định dạng tùy chỉnh: Khi muốn hiển thị số theo mẫu “00123”, “A-00123”…
Có thể bạn quan tâm: Dấu Xấp Xỉ Trong Excel: Khám Phá, Ứng Dụng Và Mẹo Tối Ưu
2. Các Phương Pháp Cơ Bản
2.1. Sử dụng hàm TEXT
Cú pháp
TEXT(value, format_text)
value: Giá trị số cần chuyển.format_text: Định dạng mong muốn, đặt trong dấu ngoặc kép.
Ví dụ thực tế
| A (Số) | B (Công thức) | Kết quả |
|---|---|---|
| 1234 | =TEXT(A2,"0") | 1234 (text) |
| 1234 | =TEXT(A2,"#,##0") | 1,234 |
| 1234 | =TEXT(A2,"$#,##0.00") | $1,234.00 |
| 0.85 | =TEXT(A2,"0%") | 85% |
| 0.85 | =TEXT(A2,"0.00%") | 85.00% |
Lưu ý: Hàm TEXT trả về một chuỗi ký tự, vì vậy các phép tính sau này sẽ không tự động thực hiện nếu bạn không chuyển lại sang số.
2.2. Dùng dấu nháy đơn (‘) để nhập trực tiếp
Khi nhập dữ liệu, nếu bạn đặt một dấu nháy đơn trước số ('12345), Excel sẽ hiểu đây là văn bản. Cách này nhanh cho các giá trị ít và không cần tính toán.
2.3. Định dạng ô (Number Format) với ký tự
Bạn có thể tạo định dạng tùy chỉnh để hiển thị số dưới dạng text mà không thay đổi giá trị gốc.
Cú pháp:
"Text"0
Ví dụ:
– "USD "0 → Hiển thị “USD 123”.
– "ID-"00000 → Hiển thị “ID-00123”.
Cách thực hiện:
1. Chọn ô hoặc vùng cần định dạng.
2. Nhấn Ctrl + 1 → Tab Number → Custom.
3. Nhập định dạng mong muốn và nhấn OK.
Điểm mạnh: Giá trị vẫn là số, nên có thể dùng trong các công thức tính toán.
Điểm yếu: Khi sao chép sang các phần mềm khác, định dạng có thể mất.
3. Chuyển Đổi Số Thành Chữ (Viết Bằng Tiếng Việt)
Trong một số trường hợp, đặc biệt là trong hợp đồng, báo cáo tài chính, bạn cần chuyển số thành chữ viết (ví dụ: 123 → “Một trăm hai mươi ba”). Excel không có hàm tích hợp sẵn, nhưng có một số cách để thực hiện:
3.1. Sử dụng VBA (Macro)
3.1.1. Mã VBA chuyển số thành chữ (tiếng Việt)
Function NumberToVietnameseText(ByVal MyNumber) Dim Units As Variant, Tens As Variant, Hundreds As Variant Dim StrNumber As String, Result As String Dim i As Integer, n As Integer, Digit As Integer Units = Array("", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín") Tens = Array("", "mười", "hai mươi", "ba mươi", "bốn mươi", _ "năm mươi", "sáu mươi", "bảy mươi", "tám mươi", "chín mươi") If Not IsNumeric(MyNumber) Then NumberToVietnameseText = "Không phải số" Exit Function End If MyNumber = CLng(MyNumber) ' Chuyển thành số nguyên If MyNumber = 0 Then NumberToVietnameseText = "không" Exit Function End If StrNumber = CStr(MyNumber) n = Len(StrNumber) For i = 1 To n Digit = CInt(Mid(StrNumber, i, 1)) Select Case (n - i) Case 0 ' Hàng đơn vị If n > 1 And Digit = 5 Then Result = Result & "lăm" ElseIf n > 1 And Digit = 1 And Mid(StrNumber, i - 1, 1) <> "0" Then Result = Result & "mốt" Else Result = Result & Units(Digit) End If Case 1 ' Hàng chục If Digit = 0 Then If Mid(StrNumber, i + 1, 1) <> "0" Then Result = Result & "lẻ " Else Result = Result & Tens(Digit) & " " End If Case 2 ' Hàng trăm If Digit <> 0 Then Result = Result & Units(Digit) & " trăm " End Select Next i NumberToVietnameseText = Trim(Result)
End Function
Cách sử dụng:
– Mở Excel → Alt + F11 → Insert → Module → Dán mã trên.
– Quay lại bảng tính, nhập công thức: =NumberToVietnameseText(A2).
– Kết quả: số trong ô A2 sẽ được chuyển thành chữ tiếng Việt.

Có thể bạn quan tâm: Excel Là Phần Mềm Gì? – Giải Đáp Toàn Diện Về Microsoft Excel Và Ứng Dụng Trong Công Việc
3.1.2. Lưu ý khi dùng VBA
- Bảo mật macro: Khi chia sẻ file, người nhận phải bật macro.
- Hiệu suất: Với hàng ngàn dòng, hàm VBA có thể chậm hơn so với công thức thuần.
3.2. Sử dụng công thức mảng (Array Formula)
Nếu không muốn dùng VBA, bạn có thể tạo công thức phức tạp sử dụng CHOOSE, MID, LEFT, RIGHT. Tuy nhiên, độ dài công thức thường >200 ký tự và khó bảo trì. Vì vậy, VBA là giải pháp tối ưu cho việc chuyển số thành chữ.
4. Các Hàm Hữu Ích Khác Khi Chuyển Đổi
4.1. Hàm CONCATENATE / &
Sau khi chuyển số thành text, bạn có thể ghép chúng với các chuỗi khác:
=CONCATENATE("Số tiền: ", TEXT(A2,"$#,##0.00"))
Hoặc:
="Số tiền: " & TEXT(A2,"$#,##0.00")
4.2. Hàm LEFT, RIGHT, MID
Đôi khi bạn muốn cắt một phần của chuỗi số đã chuyển:
=LEFT(TEXT(A2,"00000"),3) // Lấy 3 ký tự đầu
=RIGHT(TEXT(A2,"00000"),2) // Lấy 2 ký tự cuối
4.3. Hàm VALUE
Nếu bạn đã chuyển số thành text và muốn trở lại dạng số để tính toán:
=VALUE(B2) // B2 chứa "1234"
5. Ứng Dụng Thực Tiễn
5.1. Tạo mã số tự động (Serial Number)
Giả sử bạn muốn tạo mã sản phẩm dạng “SP-0001”, “SP-0002”…
="SP-" & TEXT(ROW(A1),"0000")
Kéo công thức xuống để tạo dãy tự động.
5.2. In hoá đơn: Hiển thị số tiền bằng chữ
- Nhập số tiền vào ô A2 (ví dụ: 1250000).
- Sử dụng VBA
NumberToVietnameseTextđể tạo cột B:=NumberToVietnameseText(A2) & " đồng" - Kết quả: “một triệu hai trăm năm mươi ngàn đồng”.
5.3. Định dạng ngày tháng thành chuỗi
Nếu muốn hiển thị ngày tháng dưới dạng “Ngày 01 tháng 01 năm 2026”:
="Ngày " & TEXT(A2,"dd") & " tháng " & TEXT(A2,"mm") & " năm " & TEXT(A2,"yyyy")
5.4. Tạo email tự động
Kết hợp địa chỉ email với tên khách hàng:
=LOWER(CONCATENATE(LEFT(A2,1),".",B2,"@example.com"))
Giả sử A2 = “Nguyễn Văn A”, B2 = “An”.
6. Xử Lý Lỗi Thường Gặp
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
#VALUE! | Hàm TEXT nhận giá trị không phải số | Kiểm tra dữ liệu nguồn, dùng VALUE() để chuyển đổi |
| Ký tự đặc biệt không hiển thị | Định dạng không hỗ trợ | Đảm bảo sử dụng dấu ngoặc kép " " trong TEXT |
| Macro không chạy | Bảo mật macro bị tắt | Vào File → Options → Trust Center → Trust Center Settings → Macro Settings → Chọn “Enable all macros” (cẩn thận với file không tin cậy) |
| Văn bản bị cắt khi sao chép | Định dạng ô không đủ rộng | Tăng độ rộng cột hoặc sử dụng Wrap Text |
7. Tối Ưu Hiệu Suất Khi Xử Lý Lớn Dữ Liệu
- Tránh dùng hàm volatile như
NOW(),TODAY()trong cùng một công thức vớiTEXT. - Sử dụng bảng tính (Tables) để giảm việc tính toán lại toàn bộ sheet.
- Giảm phạm vi tính toán: Nếu chỉ cần chuyển đổi một cột, hãy áp dụng công thức trong cột đó thay vì toàn bộ sheet.
- Sử dụng VBA với
Application.ScreenUpdating = Falseđể tạm tắt cập nhật màn hình khi chạy macro lớn.
Sub ConvertRange() Application.ScreenUpdating = False Dim rng As Range, cell As Range Set rng = Range("A2:A10000") For Each cell In rng cell.Offset(0,1).Value = NumberToVietnameseText(cell.Value) Next cell Application.ScreenUpdating = True
End Sub
8. Kết Luận
Việc chuyển đổi số thành văn bản trong Excel không chỉ là một thao tác đơn giản mà còn mở ra nhiều cơ hội tùy chỉnh, tự động hoá và nâng cao chất lượng báo cáo. Từ các hàm tích hợp sẵn như TEXT, định dạng ô tùy chỉnh, đến việc viết macro VBA để chuyển số thành chữ tiếng Việt, bạn có thể lựa chọn giải pháp phù hợp với nhu cầu và môi trường làm việc.
Các bước quan trọng cần nhớ:
- Xác định mục tiêu: Hiển thị, tính toán, hay in ấn?
- Chọn công cụ phù hợp:
TEXTcho định dạng nhanh, VBA cho chuyển số thành chữ, hoặc định dạng ô cho giữ nguyên giá trị. - Kiểm tra dữ liệu: Đảm bảo không có lỗi nhập liệu gây ra
#VALUE!. - Tối ưu hiệu suất: Tránh công thức quá phức tạp trên dải dữ liệu lớn.
Hy vọng bài viết đã cung cấp cho bạn toàn bộ kiến thức cần thiết để biến số thành text trong Excel một cách linh hoạt và chuyên nghiệp. Hãy thử áp dụng ngay vào dự án thực tế của mình và chia sẻ kinh nghiệm của bạn với cộng đồng!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
