Hàm VND trong Excel
VND() không phải hàm mặc định có sẵn trong mọi bản Excel. Hàm này chỉ hoạt động khi Excel có add-in hoặc mã tùy chỉnh cung cấp nó.
- HàmVNDKhông phải hàm có sẵn phổ quát: cần add-in hoặc mã tùy chỉnh cung cấpKhông có trong danh sách hàm của Microsoft. Tên này được thấy ở nhiều add-in và đoạn mã (xem mục “VND() thực sự đến từ đâu?”).
- Đối sốĐối số 1
A1ô tham chiếu - Ý nghĩaÝ nghĩa dự kiến (theo tên hàm): đọc giá trị trong ô A1 thành chữ tiếng Việt.
- Kết quả minh họa (công cụ của sothanhchu.com)Một triệu hai trăm năm mươi nghìn năm trăm đồngGiả định A1 = 1.250.500
- Ai cung cấp hàm này?Excel tự nó không có hàm này. Hàm chỉ chạy khi một add-in hoặc mã tùy chỉnh trên máy cung cấp nó.
- Cú pháp khác nhau tùy bản: có bản chỉ nhận VND(số), có bản nhận VND(số; TRUE) với đối số thứ hai TRUE (theo tài liệu của chúng) để thêm chữ “đồng”. Ý nghĩa của đối số thứ hai không giống nhau ở mọi nơi.
Tùy chọn cách viết của kết quả minh họa
Công thức được đọc ngay trên máy bạn như một đoạn chữ: không chạy, không lưu, không gửi đi.
VND() có phải hàm mặc định của Excel?
Không. Danh sách hàm của Microsoft Excel có BAHTTEXT (đọc số thành chữ Thái) nhưng không có VND hay hàm đọc số tiếng Việt nào.
Vì vậy, nếu =VND(A1) chạy được trên một máy, đã có thứ gì đó cung cấp hàm này:
- một add-in (XLL, XLA/XLAM hoặc COM);
- mã VBA nằm trong chính file (.xlsm) hoặc trong một add-in VBA;
- hoặc một hàm tùy chỉnh viết bằng JavaScript. Loại này ít khớp với tên trần như
VND: theo tài liệu Microsoft, hàm viết theo cách đó luôn có tiền tố tên dạngTÊN.HÀM(suy luận của chúng tôi từ tài liệu đó).
Tên VND không thuộc về ai. Hai máy cùng gõ =VND(A1) có thể đang chạy hai thứ khác nhau: khác tác giả, khác cú pháp, khác cách đọc, khác phiên bản Excel hỗ trợ và khác mức an toàn.
VND() thực sự đến từ đâu?
Nhiều add-in và đoạn mã độc lập cùng chọn tên VND. Bảng dưới là những gì chúng tôi tìm thấy ngày 02/10/2026, kèm ai nói và mức chắc chắn. Chúng tôi không tải và không chạy các file này nên không đánh giá độ an toàn của chúng, và không đặt liên kết tải.
- Bài đăng của chính tác giả công cụ.
- Nguồn tự nêu
- Trang tải hoặc danh sách của nhà phát hành/trang trung gian; chúng tôi không kiểm chứng.
- Chưa kiểm chứng
- Bài hướng dẫn hoặc diễn đàn của bên thứ ba; có thể đã cũ.
- Thông tin lịch sử
- Có từ nhiều năm trước; có thể không còn đúng.
| Triển khai | Dạng | Cú pháp theo tài liệu | Mức chắc chắn | Tình trạng |
|---|---|---|---|---|
| Accounting Helper (AccHelper)Bluesofts (Nguyễn Duy Tuân) | Add-in XLL (Windows); có file XLA cho Excel 2003 trở về trước | VND(), USD(), Num2Str(), ToUNC() | Thông tin lịch sử | Theo bài đăng của tác giả: bản 2.1.0 (2011) bắt đầu hỗ trợ Excel 64-bit. Một thread khác nêu bản XLL 3.1.0 ngày 22/03/2018. Chúng tôi không xác minh được bản hiện hành. |
| vnToolsTheo trang tải: Nguyễn Thanh Điểu | Bộ cài chương trình, tích hợp vào Word và Excel (theo trang tải) | VND(số; TRUE) và USD(số; TRUE) (theo trang tải) | Nguồn tự nêu | Ngày bản mới nhất khác nhau giữa các nguồn (năm 2021 so với 2026): chưa rõ bản nào đúng. |
| Doiso.xla / Docso.xlaNhiều file cùng tên trên diễn đàn và bài hướng dẫn | File add-in .xla nhỏ | VND(số; TRUE) (bài hướng dẫn); một thread nêu docso.xla chỉ có VND và USD | Chưa kiểm chứng Thông tin lịch sử | Nguồn gốc từng file khác nhau và thường được chia sẻ qua dịch vụ lưu file. Không có cách tự nhiên để biết hai file cùng tên có giống nhau không. |
| Đoạn VBA mẫuNhiều tác giả | Mã VBA dán vào Module | Có bài đặt tên hàm là VND(…), có bài đặt DocSo(số; bảng mã) | Chưa kiểm chứng | Cách xử lý chữ “đồng”, số thập phân và số lớn tùy từng đoạn mã. |
| Add-on Google Sheets cùng tên hàmBluesofts Acchelper; Docso (HocExcel.Online) | Add-on trên Google Workspace Marketplace (Google Sheets, không phải Excel) | Acchelper: VND(), USD(); Docso: Docso(), VND() | Nguồn tự nêu | Cho thấy tên VND cũng được dùng ở nền tảng khác, bởi các nhà phát hành khác nhau. |
Không có bằng chứng cho thấy một bên “sở hữu” tên VND(), nên trang không nói vậy.
Kết quả minh họa ở trên là của ai?
Dòng “Kết quả minh họa” do công cụ đọc số tiền của sothanhchu.com tạo ra, cùng engine đã kiểm thử ở trang chủ. Đó không phải kết quả của Excel và không phải của một hàm VND() cụ thể nào.
- Không giả lập Excel. Trang không tính
SUM,IF,XLOOKUP,LET,LAMBDAhay công thức bất kỳ. Nó chỉ đọc tên hàm và đối số, và nếu đối số là một ô hoặc một số đơn giản thì đọc số đó thành chữ. - Ô A1 chỉ là giá trị giả định bạn nhập, vì trang không nhìn thấy bảng tính của bạn.
- Mỗi VND() có thể viết khác. Xem mục “Cùng một số, các cách viết khác nhau”.
Vì sao máy này chạy, máy khác báo lỗi?
- Excel
- Thêm: add-in hoặc mã tùy chỉnh cung cấp
VND()
=VND(A1) Excel nhận ra hàm: có kết quả.
- Excel
- Không có gì cung cấp
VND()
=VND(A1) Excel không nhận ra hàm: #NAME?.
Một ô chứa =VND(A1) lưu tên hàm và đối số, không lưu phần cài đặt cung cấp hàm. Khi file sang máy khác:
- hàm đến từ add-in: người nhận phải có cùng add-in;
- hàm là mã VBA nằm trong chính file .xlsm: mã đi cùng file, nhưng máy nhận phải bật macro, và file tải từ internet có thể bị Excel chặn theo mặc định.
Muốn file không còn phụ thuộc vào hàm: dán giá trị (Paste Special > Values) trước khi gửi.
Bạn đang muốn làm gì?
Chọn một mục ở bên trái để xem bước tiếp theo.
Các nguồn của hàm VND() so sánh theo điều kiện dùng
Không có cách nào thắng ở mọi mặt: mỗi nguồn đổi một thứ lấy một thứ, tùy bạn dùng Excel nào và có được bật macro hay cài add-in không. Chỉ cần chọn cách đổi số thành chữ nói chung? Xem bảng so sánh ở trang Excel.
| Cách làm | Cài đặt | Offline | Macro / mã tùy chỉnh | Tương thích | Chia sẻ và tùy biến | Bảo mật và tin cậy |
|---|---|---|---|---|---|---|
| Công cụ web (đầu trang này)Có ngay | Không cài gì | Cần mở trang để dùng; dữ liệu không gửi đi | Không cần macro hay mã tùy chỉnh | Mọi trình duyệt: Windows, Mac, Excel trên web (dán qua clipboard) | Đầy đủ: nghìn/ngàn, linh/lẻ, loại tiền, “chẵn”…Dán dưới dạng giá trị: file mở được ở mọi nơi, không cần gì thêm. | Không macro, không tải file. Dữ liệu dán vào được xử lý trên máy bạn. |
| Công thức LET / LAMBDAChưa có ở đây | Không cài file; tự dán công thức hoặc định nghĩa tên | Có | Không macro; công thức dài tự viết | Microsoft 365 hoặc Excel 2024 (Windows, Mac). Excel trên web: chưa rõ | Sửa được công thức, nhưng rất khó đọc.Người nhận cần bản Excel có LAMBDA, hoặc bạn dán giá trị. | Không macro. |
| Code VBA (module trong file)Có: trình tạo code VBA | Dán mã vào Module, lưu file .xlsm | Có | Cần macro (mã VBA, bạn phải đọc và tin mã đó) | Excel bản máy tính (Mac theo Microsoft, có giới hạn). Không chạy trên Excel trên web | Cao: sửa trực tiếp trong code.Người nhận phải bật macro, hoặc bạn dán giá trị. | Cần bật macro. File macro tải từ internet bị chặn theo mặc định. Chỉ chạy code bạn đọc được. |
| Add-in có sẵn (AccHelper, vnTools…)Không phải của sothanhchu.com | Tải file hoặc bộ cài rồi nạp vào Excel | Có | Cần add-in (mã của bên thứ ba) | Chủ yếu Windows; add-in phải đúng bản 32-bit hoặc 64-bit của Office | Thấp: theo tính năng của add-in.Người nhận phải cài cùng add-in, nếu không sẽ thấy #NAME?; hoặc bạn dán giá trị. | File tải từ internet bị chặn theo mặc định. Chỉ cài từ nguồn bạn tin. Add-in 32-bit không chạy trên Office 64-bit và ngược lại. |
| Hàm tùy chỉnh Office Add-ins (JavaScript)Chưa có ở đây | Cài add-in Office; tên hàm luôn có tiền tố, dạng TÊN.HÀM | Chưa rõ: mã được tải từ nơi lưu trữ add-in (suy luận) | Mã JavaScript trong add-in, không phải macro VBA | Microsoft 365 trên Windows, Mac và web. Không chạy trên Office bản vĩnh viễn 2021 trở về trước (Windows) và Office on iPad | Cao nếu bạn tự phát triển.Người cùng soạn thảo được nhắc nạp add-in tương ứng. | Add-in cần quyền đọc/ghi tài liệu (Document.ReadWrite.User theo Microsoft). |
Nguồn các điều kiện (tài liệu Microsoft): xem danh sách nguồn ở trang Excel. Hàm tùy chỉnh Office Add-ins: tài liệu Microsoft. “Offline” của hàm Office Add-ins là suy luận của chúng tôi.
Cùng một số, các cách viết khác nhau
Các triển khai VND() có thể khác nhau ở: nghìn/ngàn, linh/lẻ, một/mốt, bốn/tư, năm/lăm, chữ hoa/thường, chữ “đồng” ở cuối, chữ “chẵn”, cách xử lý số thập phân và số lớn nhất đọc được. Bảng dưới dùng engine của sothanhchu.com để cho thấy cùng một số được viết thế nào theo từng lựa chọn. Một VND() cụ thể có thể giống một dòng, hoặc không dòng nào.
| Lựa chọn | Cách viết |
|---|---|
| Mặc định (Phổ biến / Miền Bắc) | Hai mươi mốt triệu không trăm linh bốn nghìn không trăm mười lăm đồng |
| Miền Nam: ngàn, lẻ, tư | Hai mươi mốt triệu không trăm lẻ tư ngàn không trăm mười lăm đồng |
| Đọc “một”, “năm” thay cho “mốt”, “lăm” | Hai mươi một triệu không trăm linh bốn nghìn không trăm mười năm đồng |
| Bỏ “không trăm” | Hai mươi mốt triệu linh bốn nghìn mười lăm đồng |
| Không ghi “đồng” | Hai mươi mốt triệu không trăm linh bốn nghìn không trăm mười lăm |
| Thêm “chẵn” (khi tròn đồng) | Hai mươi mốt triệu không trăm linh bốn nghìn không trăm mười lăm đồng chẵn |
| CHỮ HOA | HAI MƯƠI MỐT TRIỆU KHÔNG TRĂM LINH BỐN NGHÌN KHÔNG TRĂM MƯỜI LĂM ĐỒNG |
| chữ thường | hai mươi mốt triệu không trăm linh bốn nghìn không trăm mười lăm đồng |
Số lớn nhất đọc được cũng khác nhau: ví dụ, một bài đăng của tác giả AccHelper nêu bản 2.0 (2008) hỗ trợ tới 18 chữ số (thông tin lịch sử). Engine của sothanhchu.com đọc tới 99 chữ số.
Vì sao sothanhchu.com không phát hành thêm một VND()
Tên VND đã được nhiều bên dùng với cú pháp và cách đọc khác nhau. Thêm một bản nữa dưới cùng tên sẽ làm lỗi khó chẩn đoán hơn: không ai nhìn =VND(A1) mà biết hàm nào đang chạy. Chúng tôi chưa thử điều gì xảy ra khi hai add-in cùng định nghĩa một tên, nên không khẳng định.
Nếu sau này có hàm riêng, chúng tôi sẽ tránh các tên đã có người dùng. Dưới đây là kiến trúc tên hàm đề xuất của sothanhchu.com; chưa có sản phẩm nào, chưa có gì để tải về.
| Tên đề xuất | Ý định | Ghi chú |
|---|---|---|
=DOCVND(A1) | đọc số tiền VND | Chưa thấy ai dùng tên này trong nghiên cứu của chúng tôi (không thấy không có nghĩa là không có). Đây là tên mặc định của trình tạo code VBA. |
=DOCUSD(A1) | đọc số tiền USD bằng tiếng Việt | Tương tự. |
=STC_DOCSO(A1) | đọc số thường | DOCSO đã được nhiều công cụ dùng, nên cần tiền tố riêng. Trình tạo code VBA vẫn để DOCSO làm tên mặc định và cho bạn đổi tên. |
Số lớn và độ chính xác
Ô số của Excel chỉ giữ 15 chữ số có nghĩa (theo Microsoft). Số dài hơn bị làm tròn ngay khi nhập hoặc dán vào ô số, trước khi bất kỳ hàm nào nhìn thấy nó. Vì vậy một VND() chạy trong Excel không thể lấy lại các chữ số mà Excel đã làm tròn.
Công cụ ở đầu trang đọc đúng từng chữ số của số bạn nhập dưới dạng chữ. Cách giữ nguyên số dài khi nhập hoặc dán vào Excel nằm ở phần Số lớn trong Excel.
Nếu VND() báo lỗi
Excel báo #NAME? khi không nhận ra tên hàm. Đừng cài file lạ để thử vận may: hãy để bộ kiểm tra hỏi vài câu và cho biết khả năng cao nhất.
Câu hỏi thường gặp
Mọi hàm VND() có cho cùng một kết quả không?
Không. Cách đọc “mốt/một”, “lăm/năm”, “linh/lẻ”, chữ “đồng”, “chẵn” và cách xử lý số thập phân có thể khác nhau giữa các triển khai. Xem bảng “Cùng một số, các cách viết khác nhau”.
=DOCSO() và =DOCVND() có sẵn trong Excel không?
Không. Cả hai tên không nằm trong danh sách hàm của Microsoft Excel mà Function Lab dùng để đối chiếu, nên chúng chỉ chạy khi một add-in hoặc đoạn code VBA nào đó định nghĩa chúng. Mỗi nguồn có thể đặt cú pháp và cách đọc riêng: dán công thức của bạn vào ô ở đầu trang để xem tên hàm có được nhận ra hay không.
=VND(A1;TRUE) khác =VND(A1) thế nào?
Tùy triển khai. Tài liệu của một số bản cho biết đối số thứ hai TRUE dùng để thêm chữ “đồng”, nhưng không phải bản nào cũng vậy. Hãy đọc tài liệu của chính add-in hoặc mã bạn đang dùng.
Tôi nên gõ dấu , hay dấu ; giữa các đối số?
Excel dùng dấu phẩy hoặc dấu chấm phẩy tùy cài đặt vùng của Windows (mục List separator). Công thức copy từ nơi khác báo lỗi? Thử đổi dấu phẩy thành dấu chấm phẩy, hoặc ngược lại.
VND() dùng được trên Mac hoặc Excel trên web không?
Tùy thứ cung cấp hàm. Theo Microsoft: XLL chỉ chạy trên Windows; Excel trên Mac hỗ trợ add-in VBA nhưng không hỗ trợ XLL; Excel trên web không chạy macro VBA. Bảng theo từng bản Excel nằm ở trang Excel; bộ kiểm tra lỗi #NAME? cho biết khả năng cao nhất theo tình huống của bạn.
sothanhchu.com có hàm VND() hay add-in nào không?
Chưa có add-in hay file để tải về. sothanhchu.com có công cụ dán cột (Excel), trình tạo code VBA để bạn tự sao chép vào file của mình, và hàm Apps Script cho Google Sheets.
Công thức tôi nhập vào đây có bị gửi đi không?
Không. Trang chỉ đọc tên hàm và đối số ngay trong trình duyệt của bạn, coi công thức như một đoạn chữ: không chạy, không lưu, không gửi lên máy chủ.
Công cụ liên quan
- Đổi số thành chữ trong Excel: dán cả cột, copy kết quả trả lại.
- Lỗi #NAME? khi dùng hàm VND: bộ kiểm tra từng bước.
- Code VBA đổi số thành chữ: tạo hàm DOCSO/DOCVND từ mã bạn đọc được.