Thủ thuật máy tính
Website vungoctuan.vn là một trang blog chia sẻ các bài viết, bài hướng dẫn liên quan đến các kiến thức chuyên môn về Công nghệ thông tin.

Đọc số tiền thành chữ bằng hàm trong Excel không dùng Add-In (đọc cả tiếng Tiếng Anh và Tiếng Việt…)

0 468
Bạn đang xem bài viết trong series 5 bài HƯỚNG DẪN LÀM QUEN OFFICE ONLINE

Thông thường khi cần có hàm đọc số tiền thành chữ, chúng ta thường có thể dùng add-in cài thêm để đọc số, đổi số thành chữ. Tuy nhiên vì lý do bảo mật nên nhiều trường hợp không được cài Add-Ins Excel; hoặc khi huyển file sang máy khác không có sẵn add-in nên việc đọc số, đổi số lúc này bị lỗi; hoặc khi bạn sử dụng Excel Online

Vậy có cách nào để đọc số thành chữ không dùng addins? Câu trả lời là có! Và đây là cách đổi số thành chữ bằng hàm trong Excel bằng tiếng Anh, lẫn tiếng Việt.

Trong phạm vi bài viết này, mình sẽ hướng dẫn các bạn cách dùng hàm cho tham chiếu tới 1 hoặc nhiều ô để trả về kết quả cho 1 ô hoặc nhiều ô khác nhau tương tự như cách dùng Add-in. Nếu bạn quan tâm cách dùng add-in, hoặc dùng hàm vận dụng ghép nối thì có thể tham khảo các bài viết sau:

Đọc số tiền thành chữ tiếng Anh bằng hàm trong Excel không dùng VBA. Spell number in Excel without VBA

Giả sử bạn có số tiền ô C4, và bạn thiết lập công thức như sau tại ô E4

Chi tiết hàm đọc số tiếng Anh

=TRIM(IF(OR(LEN(FLOOR(C4,1))=13,FLOOR(C4,1)<=0),"Out of range",PROPER(SUBSTITUTE(CONCATENATE(
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),1,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),2,1)+1,"",
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),2,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,"","-one","-two","-three","-four","-five","-six","-seven","-eight","-nine"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),2,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(C4>=10^9," billion ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),4,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),5,1)+1,"",
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),5,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,"","-one","-two","-three","-four","-five","-six","-seven","-eight","-nine"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),5,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),4,3))>0," million ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),7,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),8,1)+1,"",
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),8,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,"","-one","-two","-three","-four","-five","-six","-seven","-eight","-nine"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),8,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),7,3))," thousand ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),10,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),11,1)+1,"",
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),11,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,"","-one","-two","-three","-four","-five","-six","-seven","-eight","-nine"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),11,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),""))),"  "," ")&IF(FLOOR(C4,1)>1," dollars"," dollar"))&IF(ISERROR(FIND(".",C4,1))," and No Cents"," and "&PROPER(IF(LEN(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2))=1,
CHOOSE(1*LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2),"ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety")&" Cents","")&CONCATENATE(
CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),11,1)+1,"",
CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen")&" Cents","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),11,1))>1,
CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"","-one","-two","-three","-four","-five","-six","-seven","-eight","-nine")&" Cents",IF(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)="01","one cent",IF(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),1)="0",
CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE(C4,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"","one","two","three","four","five","six","seven","eight","nine")&" Cents",""))))))))

Kết quả ta có hàm vận dụng để đọc số tiền thành chữ, bạn có nhiều ô khác nhau, chỉ việc sửa tham chiếu ô tương ứng là có thể áp dụng được. Tiếng Anh bạn có thể đọc số lẻ phần thập phân.

Đọc số tiền thành chữ Tiếng Anh
Đọc số tiền thành chữ Tiếng Anh

Công thức Đọc số tiền thành chữ tiếng Việt bằng hàm trong Excel.

Tương tự đọc số bằng tiếng Anh, bạn có thể vận dụng công thức chuyển đổi số thành chữ sau để đọc số thành chữ cho tiếng Việt. Với tiếng Việt, bạn có thể tạo Data Validation cho ô A4 để lựa chọn giữa “nghìn và ngàn”, tương ứng cho A5 với “linh và lẻ”. Hoặc áp dụng với việc sửa thay thế hoặc bỏ chữ “đồng” cụm từ ở cuối công thức: “@@@”,”lẻ“),”###”,”nghìn“),”%%%”,”, [sửa chỗ này nếu muốn bỏ dấu phẩy]“),” “,” “)&” đồng“))

Chi tiết hàm đọc số tiếng Việt

=IF(OR(LEN(FLOOR(C4,1))>=13,FLOOR(C4,1)<=0)+N("Bena.Asia"),"Không thể đọc số",TRIM(SUBSTITUTE(CONCATENATE(
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),1,1)+1,"","một trăm ","hai trăm ","ba trăm ","bốn trăm ","năm trăm ","sáu trăm ","bảy trăm ","tám trăm ","chín trăm "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),2,1)+1,"",
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,"mười","mười một","mười hai","mười ba","mười bốn","mười lăm","mười sáu","mười bảy","mười tám","mười chín"),"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(VALUE(MID(TEXT(INT(C4),REPT(0,12)),2,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,""," mốt"," hai"," ba"," bốn"," lăm"," sáu"," bảy"," tám"," chín"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),2,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),3,1)+1,"","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"),"")),IF(C4>=10^9," tỷ ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),4,1)+1,IF(AND(INT(C4)>1000000000,VALUE(MID(TEXT(INT(C4),REPT(0,12)),4,3))<>0),"không trăm ",""),"một trăm ","hai trăm ","ba trăm ","bốn trăm ","năm trăm ","sáu trăm ","bảy trăm ","tám trăm ","chín trăm "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),5,1)+1,IF(AND(INT(C4)>100000000,VALUE(MID(TEXT(INT(C4),REPT(0,12)),5,2))<>0),IF(LEN($A$5)>0,$A$5,"lẻ")&" ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,"mười","mười một","mười hai","mười ba","mười bốn","mười lăm","mười sáu","mười bảy","mười tám","mười chín"),"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(VALUE(MID(TEXT(INT(C4),REPT(0,12)),5,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,""," mốt"," hai"," ba"," bốn"," lăm"," sáu"," bảy"," tám"," chín"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),5,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),6,1)+1,"","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"),"")),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),4,3))>0," triệu ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),7,1)+1,IF(AND(INT(C4)>1000000,VALUE(MID(TEXT(INT(C4),REPT(0,12)),7,3))<>0),"không trăm ",""),"một trăm ","hai trăm ","ba trăm ","bốn trăm ","năm trăm ","sáu trăm ","bảy trăm ","tám trăm ","chín trăm "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),8,1)+1,IF(AND(INT(C4)>100000,VALUE(MID(TEXT(INT(C4),REPT(0,12)),8,2))<>0),IF(LEN($A$5)>0,$A$5,"lẻ")&" ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,"mười","mười một","mười hai","mười ba","mười bốn","mười lăm","mười sáu","mười bảy","mười tám","mười chín"),"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(VALUE(MID(TEXT(INT(C4),REPT(0,12)),8,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,""," mốt"," hai"," ba"," bốn"," lăm"," sáu"," bảy"," tám"," chín"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),8,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),9,1)+1,"","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"),"")),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),7,3))," "&IF(LEN($A$4)>0,$A$4,"ngàn")&" ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),10,1)+1,IF(AND(INT(C4)>1000,VALUE(MID(TEXT(INT(C4),REPT(0,12)),10,3))<>0),"không trăm ",""),"một trăm ","hai trăm ","ba trăm ","bốn trăm ","năm trăm ","sáu trăm ","bảy trăm ","tám trăm ","chín trăm "),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),11,1)+1,IF(AND(INT(C4)>10,VALUE(MID(TEXT(INT(C4),REPT(0,12)),11,2))<>0),IF(LEN($A$5)>0,$A$5,"lẻ")&" ",""),
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,"mười","mười một","mười hai","mười ba","mười bốn","mười lăm","mười sáu","mười bảy","mười tám","mười chín"),"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(VALUE(MID(TEXT(INT(C4),REPT(0,12)),11,1))>1,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,""," mốt"," hai"," ba"," bốn"," lăm"," sáu"," bảy"," tám"," chín"),IF(VALUE(MID(TEXT(INT(C4),REPT(0,12)),11,1))=0,
CHOOSE(MID(TEXT(INT(C4),REPT(0,12)),12,1)+1,"","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"),""))),"  "," ")&" đồng"))

Kết quả

Đọc số tiền thành chữ Tiếng Anh
Đọc số tiền thành chữ Tiếng Anh

Click vào đây để tải file đọc số thành chữ bằng hàm trong Excel

Tải file mẫu

Kết

Việc chuyển đổi số thành chữ sẽ giúp ích rất nhiều cho việc kiểm tra, cập nhật hay xử lý dữ liệu. Nếu bạn biết cách chuyển đổi nhanh chóng thì hiệu quả và tiến độ công việc sẽ tăng cao. Hướng dẫn cách chuyển đổi số thành chữ bằng hàm cực đơn giản, dễ thực hiện. Hi vọng những thông tin sẽ hữu ích với bạn.

Chúc bạn thành công!

5/5 (có 60 bình chọn)
Xem tiếp các bài trong SeriesHướng dẫn sử dụng PowerPoint Online >>

Tài trợ

Tài trợ

Để lại một bình luận

Địa chỉ email của bạn sẽ luôn được bảo mật.

📣 Rút gọn link, bọc link, fake link AFFILIATE miễn phí -> //rutgon.com.vn