Học Excel Online tiếp tục tìm hiểu cách tự xây dựng công thức đọc số tiền bằng chữ trong excel. Trong bài viết tại phần 1, Học Excel Online đã tìm hiểu xong về sự phức tạp của việc đọc số tiền bằng chữ theo tiếng việt . Các bước xây dựng hàm đọc số bằng chữ tiếng việt, trong đó đã tìm hiểu tới phần đọc thành chữ cho hàng tỷ. Các bạn có thể xem lại bài viết tại địa chỉ:
Hướng dẫn cách tự xây dựng công thức đọc số tiền bằng chữ trong excel từ A đến Z – Phần 1
Tải về file mẫu tại địa chỉ: http://bit.ly/2Upapa1
Xem nhanh
Tại vị trí này, việc đọc giống như đọc ở vị trí hàng trăm tỷ. Tuy nhiên có thêm một số yêu cầu:
Công thức đọc số tiền bằng chữ tại vị trí hàng trăm triệu:
F5=IF(SUM(C3:F3)=0,””,IF(SUM(F3:H3)=0,””,IF(F3=0,”không trăm”,CHOOSE(F3,”một”,”hai”,”ba”,”bốn”,”năm”,”sáu”,”bảy”,”tám”,”chín”)&” trăm”)))
Trong đó:
Vị trí này đọc giống như hàng chục tỷ. Công thức tại vị trí hàng chục triệu:
G5=IF(SUM(C3:G3)=0,””,IF(AND(G3=0,H3=0),””,IF(AND(G3=0,H3<>0),G4,CHOOSE(G3,”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”))))
Trong đó:
Vị trí này đọc giống như hàng tỷ. Công thức tại vị trí hàng triệu:
H5=IF(SUM(F3:H3)=0,””,IF(AND(SUM(C3:G3)>0,H3=0),” “&H4,CHOOSE(H3,IF(G3>0,”mốt”,”một”),”hai”,”ba”,”bốn”,IF(G3>0,”lăm”,”năm”),”sáu”,”bảy”,”tám”,”chín”)&” “&H4))
Trong đó:
Như vậy kết quả hàng triệu như sau:
Các vị trí ở hàng nghìn: trăm nghìn, chục nghìn, nghìn được đọc giống như ở hàng triệu. Điểm chú ý duy nhất là đơn vị ở hàng nghìn có 2 cách đọc: ngàn/ nghìn tùy theo địa phương. Do đó cần tạo danh sách chọn đơn vị này tại dòng 4, cột K (chữ số đơn vị hàng nghìn)
Công thức tại các vị trí:
I5=IF(SUM(C3:I3)=0,””,IF(SUM(I3:K3)=0,””,IF(I3=0,”không trăm”,CHOOSE(I3,”một”,”hai”,”ba”,”bốn”,”năm”,”sáu”,”bảy”,”tám”,”chín”)&” trăm”)))
J5=IF(SUM(C3:J3)=0,””,IF(AND(J3=0,K3=0),””,IF(AND(J3=0,K3<>0),J4,CHOOSE(J3,”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”))))
K5=IF(SUM(I3:K3)=0,””,IF(AND(SUM(C3:J3)>0,K3=0),” “&K4,CHOOSE(K3,IF(J3>0,”mốt”,”một”),”hai”,”ba”,”bốn”,IF(J3>0,”lăm”,”năm”),”sáu”,”bảy”,”tám”,”chín”)&” “&K4))
Như vậy kết quả hàng nghìn như sau:
Gồm các chữ số thể hiện tiền “lẻ“, gồm trăm đồng, chục đồng, đồng.
Ở hàng đơn vị có phân ra 2 loại là “Lẻ/chẵn” và cách đọc cũng có sự khác nhau.
Như vậy phần hàng trăm và hàng chục không ảnh hưởng gì, chỉ ảnh hưởng ở hàng đơn vị cuối cùng.
Đọc chữ số hàng trăm đồng:
L5=IF(SUM(C3:L3)=0,””,IF(SUM(L3:N3)=0,””,IF(L3=0,”không trăm”,CHOOSE(L3,”một”,”hai”,”ba”,”bốn”,”năm”,”sáu”,”bảy”,”tám”,”chín”)&” trăm”)))
Đọc chữ số hàng chục đồng:
M5=IF(SUM(C3:M3)=0,””,IF(AND(M3=0,N3=0),””,IF(AND(M3=0,N3<>0),M4,CHOOSE(M3,”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”))))
Đọc chữ số hàng đơn vị đồng:
N5=IF(SUM(C3:N3)=0,”Không “&N4,IF(AND(SUM(C3:K3)>0,SUM(L3:N3)=0),” “&N4&” chẵn”,IF(N3=0,” “&N4,CHOOSE(N3,IF(M3>0,”mốt”,”một”),”hai”,”ba”,”bốn”,IF(M3>0,”lăm”,”năm”),”sáu”,”bảy”,”tám”,”chín”)&” “&N4)))&”./.”
Trong đó:
Kết quả cuối cùng như sau:
Có 1 nguyên tắc là phải viết hoa chữ cái bắt đầu trong cả dãy số tiền bằng chữ. Tuy nhiên chúng ta phải xác định được tại vị trí nào là bắt đầu, và tại vị trí đó sẽ tách ký tự đầu tiên ra để viết hoa.
Logic trên có thể diễn giải như sau (viết công thức trên dòng 6):
Tại C6 ta có công thức:
IF(C5=””,””,IF(COUNTIF(B5:B5,””)=C2,UPPER(LEFT(C5,1))&RIGHT(C5,LEN(C5)-1),C5))
Trong đó:
Xem lại bài viết: Hướng dẫn cách chỉ viết hoa chữ cái đầu tiên trong Excel
Fillright công thức tại C6 tới N6 (trong đó chú ý vị trí B5 đầu tiên trong hàm COUNTIF phải giữ nguyên, không được thay đổi; có thể cố định vị trí này với phím F4)
Kết quả thu được như sau:
(nên làm bước này trước, bởi làm ở bước sau thì hàm xử lý viết hoa sẽ rất dài, dễ bị rối)
Từng vị trí chữ số đã được đọc, việc còn lại chỉ đơn giản làm ghép lại các từ này là xong.
Ở đây chúng ta có 12 vị trí nên sẽ phải ghép theo nguyên tắc sau:
Tại ô B2 chúng ta có kết quả như sau:
B2=TRIM(C6&” “&D6&” “&E6&” “&F6&” “&G6&” “&H6&” “&I6&” “&J6&” “&K6&” “&L6&” “&M6&” “&N6)
Nếu việc ghép như trên là dài và mất nhiều công, bạn có thể tìm hiểu về hàm TEXTJOIN ở các phiên bản Excel2016 trở đi, công việc sẽ đơn giản hơn rất nhiều.
Tham khảo bài viết: GHÉP NỐI KÝ TỰ VỚI HÀM CONCAT VÀ TEXTJOIN TRONG EXCEL
Như vậy là chúng ta đã hoàn thành được hàm đọc số bằng chữ trong Excel rồi. Logic tuy dài dòng nhưng hoàn toàn có thể phân tích được, sử dụng những hàm Excel mà ai cũng biết. Bài toán này sẽ giúp các bạn luyện tập rất tốt cho việc phân tích logic, phát triển logic thành công thức, hàm trong Excel.
Ngoài ra tính ứng dụng của hàm này rất đơn giản, chúng ta chỉ cần làm như sau:
Chúc các bạn ứng dụng tốt kiến thức này vào công việc của mình!