Tóm tắt nhanh (TL;DR)
Đổi số thành chữ tự động trong Excel giúp tiết kiệm đáng kể thời gian và tránh các sai sót nguy hiểm khi làm hóa đơn, phiếu thu chi. Bài viết này hướng dẫn chi tiết 3 phương pháp phổ biến nhất hiện nay: sử dụng Add-in AccHelper (cài một lần, dùng hàm VND), dùng mã VBA (không cần cài đặt, hoạt động trên mọi máy tính), hoặc dùng các công cụ chuyển đổi trực tuyến khi cần xử lý nhanh. Kèm theo là hướng dẫn khắc phục triệt để lỗi công thức #NAME? thường gặp.
1. Tại sao cần đổi số thành chữ trong Excel?
Bạn đang làm hóa đơn, phiếu thu, phiếu chi. Số tiền 1,500,000 đồng. Viết tay chữ "Một triệu năm trăm nghìn đồng chẵn" — mất 10 giây. Nhân 50 hóa đơn mỗi ngày = 500 giây/ngày. Một tháng = hơn 3 tiếng gõ số chữ bằng tay.
Chưa kể sai sót: viết thiếu số không, nhầm "triệu" thành "tỷ", hoặc ghi "không" thiếu dấu. Kế toán mà sai số chữ trên hóa đơn — khách không chịu, thuế cũng không chịu.
Có 3 cách phổ biến để đổi số thành chữ tự động trong Excel. Mỗi cách phù hợp với một tình huống khác nhau. Dưới đây là hướng dẫn chi tiết từng cách.
Tổng quan 3 phương pháp đổi số thành chữ phổ biến trong Excel: Dùng Add-in AccHelper, code VBA hoặc công cụ Online.
2. Cách 1: Dùng AccHelper — nhanh nhất, cài 1 lần dùng mãi
AccHelper (Accounting Helper) là add-in Excel phổ biến nhất để đổi số thành chữ. Miễn phí, dễ cài, hỗ trợ cả 32-bit và 64-bit, được nhiều kế toán Việt Nam sử dụng.
Bước 1: Tải AccHelper
Tải file từ nguồn đáng tin cậy. File thường có dạng .xla (cho Excel 32-bit) hoặc .xlam (cho Excel 64-bit). Giải nén và lưu vào thư mục cố định — ổ D hoặc ổ C.
Mẹo: Đừng lưu ở Desktop hoặc thư mục Downloads. Vì sau này dễ bị xóa nhầm, lúc cần lại không biết đường mà tìm.
Bước 2: Cài đặt vào Excel
- Mở Excel → File → Options → Add-Ins
- Ở mục Manage phía dưới, chọn Excel Add-ins → nhấn Go
- Cửa sổ Add-Ins hiện ra → nhấn Browse → chọn file AccHelper vừa tải → OK
- Tích chọn AccHelper trong danh sách → OK
Sau khi cài xong, bạn sẽ thấy AccHelper xuất hiện trong tab Add-Ins (hoặc không có tab riêng — tùy phiên bản Excel). Quan trọng là các hàm đã sẵn sàng để dùng.
Bước 3: Sử dụng hàm VND
Sau khi cài, bạn có thể dùng hàm ngay trong Excel:
=VND(ô_chứa_số)
Ví dụ: =VND(A1) với A1 = 1,500,000 → kết quả: "Một triệu năm trăm nghìn đồng chẵn"
Ví dụ: =VND(850000) → kết quả: "Tám trăm năm mươi nghìn đồng chẵn"
AccHelper cũng hỗ trợ =USD() cho số tiền đô-la Mỹ, và =VND_M() cho số tiền có cả phần nghìn và phần lẻ.
Mẹo quan trọng khi dùng AccHelper
Kiểm tra phiên bản Excel trước khi tải. Vào File → Account → About Excel — dòng cuối cùng ghi "32-bit" hay "64-bit". Tải đúng bản, nếu không add-in sẽ không hoạt động.
Lưu file Add-in ở chỗ cố định. Nếu bạn xóa file Add-in, hoặc chuyển nó sang chỗ khác, Excel sẽ báo lỗi #NAME? ngay lập tức.
Lỗi #NAME? — nguyên nhân và cách fix
Đây là lỗi thường gặp nhất khi dùng AccHelper.
Nguyên nhân:
- File Add-in bị xóa hoặc đổi chỗ
- Gửi file Excel cho người khác mà họ chưa cài AccHelper
- Excel không tìm thấy đường dẫn Add-in (do chuyển máy, cài lại Windows...)
Cách fix:
- Vào File → Options → Add-Ins
- Manage: Excel Add-ins → Go
- Bỏ tích AccHelper cũ → OK
- Vào lại, nhấn Browse → tìm đến vị trí file AccHelper mới
- Tích chọn → OK
Nếu bạn thường xuyên gửi file cho người khác, nên chuyển sang cách 2 (VBA) để khỏi lo lỗi #NAME?.
3. Cách 2: Dùng VBA — không cần cài, chạy được mọi máy
Nếu không muốn cài thêm gì, hoặc thường xuyên gửi file cho đối tác, khách hàng — dùng VBA là cách tối ưu. Copy code một lần, dùng mãi. Gửi file cho ai cũng chạy được, không cần họ cài thêm gì.
Màn hình Visual Basic Editor giúp bạn chèn một Module mới và dán đoạn mã đổi số thành chữ tự động.
Code VBA đổi số thành chữ
Copy toàn bộ đoạn code dưới đây:
Function DocSoTien(ByVal SoTien As Double) As String
Dim ChuSo As Variant, DonVi As Variant
Dim KetQua As String, Tam As String
Dim i As Integer, Nhom As Integer
If SoTien = 0 Then
DocSoTien = "Không đồng"
Exit Function
End If
ChuSo = Array("không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín")
DonVi = Array("", "nghìn", "triệu", "tỷ")
KetQua = ""
i = 0
Do While SoTien > 0
Nhom = SoTien Mod 1000
SoTien = Int(SoTien / 1000)
If Nhom > 0 Then
Tam = DocBaChuSo(Nhom, ChuSo)
KetQua = Tam & " " & DonVi(i) & " " & KetQua
End If
i = i + 1
Loop
DocSoTien = Trim(KetQua) & " đồng"
End Function
Private Function DocBaChuSo(ByVal So As Integer, ByRef Chu As Variant) As String
Dim Tram As Integer, Chuc As Integer, Don As Integer
Dim Kq As String
Tram = Int(So / 100)
Chuc = Int((So Mod 100) / 10)
Don = So Mod 10
Kq = Chu(Tram) & " trăm"
If Chuc > 1 Then
Kq = Kq & " " & Chu(Chuc) & " mươi"
ElseIf Chuc = 1 Then
Kq = Kq & " mười"
ElseIf Chuc = 0 And Don > 0 Then
Kq = Kq & " lẻ"
End If
If Don > 0 Then
Kq = Kq & " " & Chu(Don)
End If
DocBaChuSo = Kq
End Function
Cách dùng
- Nhấn Alt + F11 để mở VBA Editor
- Insert → Module (một cửa sổ trắng hiện ra)
- Dán toàn bộ code vào cửa sổ trắng đó
- Nhấn Ctrl + S để lưu — chọn định dạng file Excel Macro-Enabled Workbook (.xlsm)
- Đóng VBA Editor, quay lại Excel
- Dùng hàm
=DocSoTien(A1)— giống hệt như dùng hàm VND
Ví dụ: =DocSoTien(2500000) → "hai triệu năm trăm nghìn đồng"
Mẹo khi dùng VBA
Bật Macro trước khi dùng. Vào File → Options → Trust Center → Trust Center Settings → Macro Settings → chọn Enable VBA macros. Nếu không, file .xlsm sẽ không chạy được code.
Lưu đúng định dạng. File .xlsm (có Macro) khác với file .xlsx (không Macro). Nếu lưu nhầm .xlsx, code VBA sẽ bị mất.
Ưu điểm lớn nhất của VBA:
- Không phụ thuộc vào Add-in — gửi file cho ai cũng chạy được
- Không lỗi #NAME? — code nằm trong file, đi đâu cũng theo
- Có thể tùy chỉnh — muốn thêm "chẵn", "yến", "đô la" gì cũng được
Nhược điểm duy nhất: Hơi kỹ thuật với người mới. Nhưng chỉ cần làm theo hướng dẫn ở trên là chạy được ngay.
4. Cách 3: Dùng công cụ online — khi cần gấp, không cần cài
Nếu bạn chỉ cần đổi 1-2 số, không muốn cài gì cả, không muốn động vào VBA — dùng web tool online.
Cách làm:
- Lên Google, gõ "đổi số thành chữ online"
- Chọn một trang bất kỳ
- Nhập số tiền → copy kết quả
- Dán vào Excel
Ưu điểm: Nhanh, không cần cài đặt, không lỗi font, không sợ virus.
Nhược điểm: Cần Internet, làm thủ công từng số, không tự động được cho nhiều dòng.
Phù hợp khi: Bạn là kế toán bán thời gian, tháng chỉ làm vài chục hóa đơn. Không đáng cài thêm gì, chỉ cần đổi vài số là xong.
5. Bảng so sánh 3 cách — chọn cách nào?
Bảng tổng hợp ưu và nhược điểm của 3 giải pháp giúp chủ doanh nghiệp dễ dàng lựa chọn.
📊 Bảng: So sánh tính năng đổi số thành chữ giữa các phương pháp
| Tiêu chí | AccHelper Add-in | Lập trình VBA | Công cụ Online |
|---|---|---|---|
| Cài đặt ban đầu | Cần cài đặt add-in một lần trên máy tính | Chỉ cần sao chép mã code vào file Excel | Không cần cài đặt bất cứ phần mềm nào |
| Tự động liên kết ô | Có (tự động cập nhật khi đổi giá trị ô số) | Có (tự động cập nhật khi đổi giá trị ô số) | Không (phải thực hiện copy - dán thủ công) |
| Chia sẻ file cho người khác | Dễ gặp lỗi #NAME? nếu máy nhận chưa cài add-in | Chạy mượt mà trên mọi máy mà không bị lỗi | Không hỗ trợ lưu trữ trong file công thức |
| Kết nối Internet | Hoạt động offline hoàn toàn | Hoạt động offline hoàn toàn | Bắt buộc phải có kết nối mạng internet |
| Xử lý hàng loạt dòng | Có (có thể kéo sao chép công thức nhanh chóng) | Có (có thể kéo sao chép công thức nhanh chóng) | Không (chỉ có thể chuyển đổi từng số đơn lẻ) |
| Mức độ phức tạp | Dễ thao tác | Trung bình (đòi hỏi biết mở trình soạn VBA) | Rất dễ sử dụng |
Nếu bạn thường xuyên gặp phải các lỗi khó chịu khác trên bảng tính, hãy đọc thêm bài viết Cách sửa lỗi font chữ Excel để làm sạch file nhanh chóng.
Bạn đang gặp nhiều vấn đề với Excel hơn là chuyện đổi số thành chữ? File chậm, sai số liệu, mất dữ liệu — có thể đã đến lúc xem xét giải pháp quản lý chuyên nghiệp. Các dịch vụ như ExcelToApp giúp chuyển đổi file Excel thành web app, giữ nguyên logic, bỏ qua giới hạn kỹ thuật. Nhận tư vấn miễn phí qua form bên dưới.
Gửi file phân tích miễn phí →Câu hỏi thường gặp
AccHelper có miễn phí không?
Có. AccHelper là add-in hoàn toàn miễn phí, được phát triển bởi tác giả Nguyễn Duy Tân. Tuy nhiên, bạn nên chú ý tải add-in từ các nguồn đáng tin cậy để tránh nguy cơ nhiễm mã độc hoặc virus máy tính.
Hàm VND trong Excel báo lỗi #NAME? phải làm sao?
Đây là lỗi xảy ra khi Excel không tìm thấy add-in AccHelper. Hãy khắc phục bằng cách truy cập File → Options → Add-Ins → Manage: Excel Add-ins → Go. Tiến hành bỏ chọn phiên bản cũ, sau đó bấm Browse tìm và nạp lại file add-in mới. Nếu file thường xuyên phải chia sẻ với người khác, khuyên bạn nên sử dụng phương pháp VBA để loại bỏ triệt để lỗi này.
Có cách nào đổi số thành chữ không cần cài thêm gì không?
Có. Bạn hãy sử dụng phương pháp chèn mã VBA (nhã đã hướng dẫn ở cách 2 trong bài). Copy mã code chuẩn, dán vào Module của file thông qua tổ hợp Alt+F11 và lưu file dưới định dạng .xlsm. Phương pháp này giúp file chạy được trên mọi máy tính khác nhau mà không cần cài đặt thêm add-in.
AccHelper 32-bit và 64-bit khác nhau thế nào?
Phiên bản Excel 32-bit sẽ sử dụng file add-in có định dạng đuôi mở rộng là .xla, còn phiên bản Excel 64-bit sẽ yêu cầu nạp add-in có đuôi .xlam hoặc .xll. Bạn cần kiểm tra kỹ thông tin phiên bản Office đang dùng bằng cách vào File → Account → About Excel để tải và cài đặt chính xác định dạng tương ứng.
Nên dùng AccHelper hay VBA?
Nếu bạn chỉ cần xử lý báo cáo tính toán cá nhân trên duy nhất một máy tính cố định của mình thì sử dụng AccHelper là lựa chọn nhanh và thuận tiện nhất. Tuy nhiên, nếu tệp tin đó cần được gửi thường xuyên cho đối tác, khách hàng hoặc nộp báo cáo cho cơ quan Thuế, sử dụng VBA là giải pháp tối ưu giúp tránh các lỗi hiển thị công thức phiền toái cho người nhận.
📚 Nguồn tham khảo & Dữ liệu nghiên cứu:
- Nguyễn Duy Tân: Tác giả và nhà phát triển add-in AccHelper (Accounting Helper).
- Microsoft Support: Tài liệu hướng dẫn sử dụng macro VBA và bảo mật mã lệnh Excel Macro-Enabled.
- Panko (1998): Khảo sát và phân tích tỷ lệ sai lệch khi nhập liệu thủ công trên bảng tính.