Đổi số ra chữ

Liên hệ QC

thehungqnu

Thành viên mới
Tham gia
12/10/07
Bài viết
35
Được thích
16
Các bạn có thể cho minh đoạn VB đổi số sang chữ 3 số VD 275 thành Hai bảy lăm
 
Gửi tặng bạn. File này của DieuNT mình thấy dùng rất hay. Bạn dùng thử nhé.
 

File đính kèm

  • XLvnTools.zip
    507 KB · Đọc: 1,039
Upvote 0
Hiện nay em đang làm kế toán và phải làm nhiều bảng kê bằng Excel, nhiều khi do sơ suất đọc nhầm số vì vậy em muốn anh chị hãy cho em biết có tiện ích nào đọc số thành chữ thật tốt.
có thể đọc như sau: 4012.46 thành Bốn nghìn không trăm mười hai phảy bốn mươi sáu.
Em xin chân thành cảm ơn sự giúp đỡ của tất cả các anh chị!
Mình đã có sẵn hàm đọc số ra chữ rất tốt, nếu bạn cần, mình sẽ gởi cho và chỉ cho cach sử dụng. Rất tiện lợi vì trong công việc thường quên sửa đoạn "Bằng chữ:....", nhất là khi đưa cho xếp ký rồi, phát hiện ra, phải làm và xin ký lại thì rất khó chịu! Liên hệ dinhleqn@yahoo.com
 
Upvote 0
Cảm ơn moi nguời nhé
Có hàm đổi số ra chữ này công việc của mình đn giản hơn rất nhiêù.
Nhưng mình muốn hoi chút nữa nếu mình dùng font TCVN thì sao nhỉ. Vì khi tải xong mình chỉ dùng được font Unicode thôi. Đồng chí nào biết chỉ giúp với nhé
 
Upvote 0
Cách đổi số ra chữ

Tôi mới tập làm đổi số trong EXCEl nhưng số 9 nó lại biến thành chữ số "chưn" tôi làm mãi mà không sao sửa được chữ đó vậy anh chị em nào biết chỉ dùm tôi với . Tôi xin cảm ơn rất nhiều
 
Upvote 0
Mình cũng đã vào đó lấy về chạy thử nhưng số 9 nó viết thành " chớn" và số 6 nó viết thành "sỏu" vậy bây giờ phải làm thế nào để nó trở thành 9 " chín" 6 thành "sáu"

Mình đã chép đoạn mã của các bạn cho vào Modul nhưng nó vẫn cứ số 9 nó biến thành "chưn". rồi mình lại tải phần XL Vn Tools của DieuNT nó lại có 3 số đó là số 6 thành "sỏu" số 8 thành " tỏm" số 9 thành " chỏn" vậy ai biết cách khắc phục tình trạng này được không xin chỉ dùm tôi với?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Các bác có chương trình nào đổi số kể cả số thập phân sang chữ không cho em xin với
 
Upvote 0
Đây là một softwear bằng macro for Excel. Tiện ích của nó là đổi số thành chữ gồm 2 hàm:
=DoisoV(số cần đổi) - kết quả cho đọc số ra Tiếng Việt
Vd: =DoisoV(123456): (Bằng chữ: một trăm hai mươi ba ngàn, bốn trăm năm mươi sáu đồng)
=DoisoE(số cần đổi) - kết quả cho đọc số ra Tiếng Anh
Vd: =DoisoE(123456): (Says: one hundred twenty-three thousand, four hundred fifty-six.)


HDSD: Để hai hàm đổi số trên hoạt động như một hàm của excel (ví dụ tương tự như hàm cos(), sin(), sum()) bạn làm tuần tự theo các bước sau:
1. Mở file excel vừa được dowload về
2. Save as thành file Add-Ins (đây là định dạng xla, nằm cuối cùng trong type của excel) thành một tên bất kì nào đó. Ví dụ là: doiso.xla
3. Vào menu: Tools\Add-Ins; bảng thông số Add-Ins hiện ra. Bạn click vào button "Browse..." Chọn file doiso.xla vừa save as. Lúc này trong bảng Add-Ins có thêm mục chọn với tên: doiso. Bạn lựa chọn nó bằng cách đánh dấu. Click vào Ok.
Từ lúc này trở đi trong Microsoft Excel của bạn có thêm 2 hàm đổi số thành chữ ở trên.
Đây là phần mềm free nên mong được mọi người hưởng ứng và đóng góp ý kiến, sáng kiến trên diễn đàn này.
 

File đính kèm

  • Doi so thanh chu E-V Ver2.xls
    64.5 KB · Đọc: 326
Lần chỉnh sửa cuối:
Upvote 0
Đây là một softwear bằng macro for Excel. Tiện ích của nó là đổi số thành chữ gồm 2 hàm:
=DoisoV(số cần đổi) - kết quả cho đọc số ra Tiếng Việt
Vd: =DoisoV(123456): (Bằng chữ: một trăm hai mươi ba ngàn, bốn trăm năm mươi sáu đồng)
=DoisoE(số cần đổi) - kết quả cho đọc số ra Tiếng Anh
Vd: =DoisoE(123456): (Says: one hundred twenty-three thousand, four hundred fifty-six.)

HDSD: Để hai hàm đổi số trên hoạt động như một hàm của excel (ví dụ tương tự như hàm cos(), sin(), sum()) bạn làm tuần tự theo các bước sau:
1. Mở file excel vừa được dowload về
2. Save as thành file Add-Ins (đây là định dạng xla, nằm cuối cùng trong type của excel) thành một tên bất kì nào đó. Ví dụ là: doiso.xla
3. Vào menu: Tools\Add-Ins; bảng thông số Add-Ins hiện ra. Bạn click vào button "Browse..." Chọn file doiso.xla vừa save as. Lúc này trong bảng Add-Ins có thêm mục chọn với tên: doiso. Bạn lựa chọn nó bằng cách đánh dấu. Click vào Ok.
Từ lúc này trở đi trong Microsoft Excel của bạn có thêm 2 hàm đổi số thành chữ ở trên.
Đây là phần mềm free nên mong được mọi người hưởng ứng và đóng góp ý kiến, sáng kiến trên diễn đàn này.

File của bạn mình gõ:
1.000.000.000.000, sao nó đọc có "một ngàn" là sao?
4.300.000.000.000, sao nó đọc có "tư ngàn, ba trăm tỷ" là sao?

Nếu muốn đọc số thành chữ thì bạn search trên diễn đàn GPE có rất nhiều và toàn là Open source không đấy!
http://www.google.com.vn/custom?domains=www.giaiphapexcel.com&q=%C4%91%E1%BB%8Dc+s%E1%BB%91+th%C3%A0nh+ch%E1%BB%AF&sitesearch=www.giaiphapexcel.com
 
Upvote 0
Cái này thấy nhiều nơi nói đến.
Các bạn thử tham khảo thêm cái này, có thêm một số tính năng khác cũng khá bổ ích.
http://www.megaupload.com/vn/?d=XZ4LDKXQ dung lượng khoảng 100k
 
Lần chỉnh sửa cuối:
Upvote 0
dịch số ra chữ số

Còn đây là một file dịch số ra chữ số tiếng việt rất đơn giản chỉ có 24 KB thôi ( dược sử dụng trong ngân hàng đó) ,bạn chỉ cần download về và copy nó vào office của bạn là xong, ở ô bất kỳ để hiện chữ số thì bạn gõ là = "số tiền bằng chữ: "&dichvn(*) là xong * là tại vị trí ô có con số muốn dịch ra chữ số ví dụ ô A1 Còn bạn muốn làm cách khác thủ công hơn thì xem cái công thức ở dưới tôi viết nè nhưng theo tôi cách dưới ko nên làm vì rất dài trong khi có nhiều code chuyển số ra chữ đơn giản hơn đã được giới thiệu ở trên, xài cái file tui gửi đính kèm đó

Hoặc cách thủ công nhất mình đã làm, bạn cứ theo số ô trên excel mà làm thử xem, đây không phải đoạn code chỉ là cách dùng công thức thô sơ nhất, mình chỉ viết tới 100 tỷ đồng thôi tức là 12 con số, còn bạn nếu cần nhiều hơn cứ việc tương tự theo đó mà nghiên cứu thêm và gõ lệnh tạo thêm theo ý bạn
Công thức này chỉ coi chơi thôi nhé

A1: NƠI ĐÁNH Ô SỐ CÓ ĐƯỢC.
A2: NƠI QUY ĐỔI CON SỐ RA CHỮ SỐ.
B1: =IF(LEN($A$1)<>0,VALUE(RIGHT(A1,3)),"")
B2: Nhóm: từ 1đến 5
B3: Nhóm: từ 6 đến 0
B4: TH: "một","mốt".
B5: TH: "lăm","năm".
B6: Ghép trọng số
B7: Ghép toàn bộ 3 cột
B8: =IF(LEN($A$1)>3,VALUE(RIGHT((A1-B1)/1000,3)),"")
B9: Nhóm: từ 1 đến 6
B10: Nhóm: từ 6 đến 0
B11: TH: "một","mốt".
B12: TH: "lăm","năm".
B13: Ghép trọng số.
B14: Ghép toàn bộ 3 cột.
B15: =IF(LEN($A$1)>6,VALUE(RIGHT(($A$1-RIGHT(A1,6))/1000000,3)),"")
B16: Nhóm: từ 1 đến 7
B17: Nhóm: từ 6 đến 1
B18: TH: "một","mốt".
B19: TH: "lăm","năm".
B20: Ghép trọng số.
B21: Ghép toàn bộ 3 cột
B22: =IF(LEN($A$1)>9,VALUE(RIGHT(($A$1-RIGHT($A$1,9))/1000000000,3)),"")
B23: Nhóm: từ 1 đến 8
B24: Nhóm: từ 6 đến 2
B25: TH: "một","mốt".
B26: TH: "lăm","năm".
B27: Ghép trọng số.
B28: Ghép toàn bộ 3 cột
C1: =IF(LEN(B1)=3,VALUE(MID(B1,1,1)),"")
C2: =IF(C1=1,"một ",IF(C1=2,"hai ",IF(C1=3,"ba ",IF(C1=4,"bốn ",IF(C1=5,"năm ",C3)))))
C3: =IF(C1=6,"sáu ",IF(C1=7,"bảy ",IF(C1=8,"tám ",IF(C1=9,"chín ",IF(C1=0,"không ","")))))
C4: =C2
C5: =C4
C6: =IF(AND(C1<>"",C1<>0),CONCATENATE(C5,"trăm "),"")
C7: =CONCATENATE(C6,D6,E6)
C8: =IF(LEN(B8)=3,VALUE(MID(B8,1,1)),"")
C9: =IF(C8=1,"một ",IF(C8=2,"hai ",IF(C8=3,"ba ",IF(C8=4,"bốn ",IF(C8=5,"năm ",C10)))))
C10: =IF(C8=6,"sáu ",IF(C8=7,"bảy ",IF(C8=8,"tám ",IF(C8=9,"chín ",IF(C8=0,"không ","")))))
C11: =C9
C12: =C11
C13: =IF(AND(C8<>"",C8<>0),CONCATENATE(C12,"trăm ",),"")
C14: =CONCATENATE(C13,D13,E13)
C15: =IF(LEN(B15)=3,VALUE(MID(B15,1,1)),"")
C16: =IF(C15=1,"một ",IF(C15=2,"hai ",IF(C15=3,"ba ",IF(C15=4,"bốn ",IF(C15=5,"năm ",C17)))))
C17: =IF(C15=6,"sáu ",IF(C15=7,"bảy ",IF(C15=8,"tám ",IF(C15=9,"chín ",IF(C15=0,"không ","")))))
C18: =C16
C19: =C18
C20: =IF(AND(C15<>"",C15<>0),CONCATENATE(C19,"trăm "),"")
C21: =CONCATENATE(C20,D20,E20)
C22: =IF(LEN(B22)=3,VALUE(MID(B22,1,1)),"")
C23: =IF(C22=1,"một ",IF(C22=2,"hai ",IF(C22=3,"ba ",IF(C22=4,"bốn ",IF(C22=5,"năm ",C24)))))
C24: =IF(C22=6,"sáu ",IF(C22=7,"bảy ",IF(C22=8,"tám ",IF(C22=9,"chín ",IF(C22=0,"không ","")))))
C25: =C23
C26: =C25
C27: =IF(AND(C22<>"",C22<>0),CONCATENATE(C26,"trăm "),"")
C28: =CONCATENATE(C27,D27,E27)
D1: =IF(LEN(B1)=3,VALUE(MID(B1,2,1)),IF(LEN(B1)=2,VALUE(MID(B1,1,1)),""))
D2: =IF(D1=1,"mười ",IF(D1=2,"hai ",IF(D1=3,"ba ",IF(D1=4,"bốn ",IF(D1=5,"năm ",D3)))))
D3: =IF(D1=6,"sáu ",IF(D1=7,"bảy ",IF(D1=8,"tám ",IF(D1=9,"chín ",IF(D1=0,"lẻ ","")))))
D4: =IF(D1=0,IF(E1<>0,D2,""),D2)
D5: =D4
D6: =IF(D1<>"",IF(AND(D1<>0,D1<>1),CONCATENATE(D5,"mươi "),D5),"")
D7: *
D8: =IF(LEN(B8)=3,VALUE(MID(B8,2,1)),IF(LEN(B8)=2,VALUE(MID(B8,1,1)),""))
D9: =IF(D8=1,"mười ",IF(D8=2,"hai ",IF(D8=3,"ba ",IF(D8=4,"bốn ",IF(D8=5,"năm ",D10)))))
D10: =IF(D8=6,"sáu ",IF(D8=7,"bảy ",IF(D8=8,"tám ",IF(D8=9,"chín ",IF(D8=0,"lẻ ","")))))
D11: =IF(D8=0,IF(E8<>0,D9,""),D9)
D12: =D11
D13: =IF(D8<>"",IF(AND(D8<>0,D8<>1),CONCATENATE(D12,"mươi "),D12),"")
D14: *
D15: =IF(LEN(B15)=3,VALUE(MID(B15,2,1)),IF(LEN(B15)=2,VALUE(MID(B15,1,1)),""))
D16: =IF(D15=1,"mười ",IF(D15=2,"hai ",IF(D15=3,"ba ",IF(D15=4,"bốn ",IF(D15=5,"năm ",D17)))))
D17: =IF(D15=6,"sáu ",IF(D15=7,"bảy ",IF(D15=8,"tám ",IF(D15=9,"chín ",IF(D15=0,"lẻ ","")))))
D18: =IF(D15=0,IF(E15<>0,D16,""),D16)
D19: =D18
D20: =IF(D15<>"",IF(AND(D15<>0,D15<>1),CONCATENATE(D19,"mươi "),D19),"")
D21: *
D22: =IF(LEN(B22)=3,VALUE(MID(B22,2,1)),IF(LEN(B22)=2,VALUE(MID(B22,1,1)),""))
D23: =IF(D22=1,"mười ",IF(D22=2,"hai ",IF(D22=3,"ba ",IF(D22=4,"bốn ",IF(D22=5,"năm ",D24)))))
D24: =IF(D22=6,"sáu ",IF(D22=7,"bảy ",IF(D22=8,"tám ",IF(D22=9,"chín ",IF(D22=0,"lẻ ","")))))
D25: =IF(D22=0,IF(E22<>0,D23,""),D23)
D26: =D25
D27: =IF(D22<>"",IF(AND(D22<>0,D22<>1),CONCATENATE(D26,"mươi "),D26),"")
D28: *
E1: =IF(LEN(B1)=3,VALUE(MID(B1,3,1)),IF(LEN(B1)=2,VALUE(MID(B1,2,1)),IF(LEN(B1)=1,B1,"")))
E2: =IF(E1=1,"một ",IF(E1=2,"hai ",IF(E1=3,"ba ",IF(E1=4,"bốn ",IF(E1=5,"lăm ",E3)))))
E3: =IF(E1=6,"sáu ",IF(E1=7,"bảy ",IF(E1=8,"tám ",IF(E1=9,"chín ",IF(E1=0,"","")))))
E4: =IF(E1=1,IF(D1<>"",IF(AND(D1<>0,D1<>1),"mốt ","một "),"một "),E2)
E5: =IF(E1=5,IF(D1=0,"năm ",IF(D1="","năm ",E4)),E4)
E6: =IF($A$1=0,"không đồng. ",IF(E1<>"",CONCATENATE(E5,"đồng chẵn. "),""))
E7: *
E8: =IF(LEN(B8)=3,VALUE(MID(B8,3,1)),IF(LEN(B8)=2,VALUE(MID(B8,2,1)),IF(LEN(B8)=1,B8,"")))
E9: =IF(E8=1,"một ",IF(E8=2,"hai ",IF(E8=3,"ba ",IF(E8=4,"bốn ",IF(E8=5,"lăm ",E10)))))
E10: =IF(E8=6,"sáu ",IF(E8=7,"bảy ",IF(E8=8,"tám ",IF(E8=9,"chín ",IF(E8=0,"","")))))
E11: =IF(E8=1,IF(D8<>"",IF(AND(D8<>0,D8<>1),"mốt ","một "),"một "),E9)
E12: =IF(E8=5,IF(D8=0,"năm ",IF(D8="","năm ",E11)),E11)
E13: =IF(D8="",IF(AND(E8<>0,E8<>""),CONCATENATE(E12,"ngàn "),""),CONCATENATE(E12,"ngàn "))
E14: *
E15: =IF(LEN(B15)=3,VALUE(MID(B15,3,1)),IF(LEN(B15)=2,VALUE(MID(B15,2,1)),IF(LEN(B15)=1,B15,"")))
E16: =IF(E15=1,"một ",IF(E15=2,"hai ",IF(E15=3,"ba ",IF(E15=4,"bốn ",IF(E15=5,"lăm ",E17)))))
E17: =IF(E15=6,"sáu ",IF(E15=7,"bảy ",IF(E15=8,"tám ",IF(E15=9,"chín ",IF(E15=0,"","")))))
E18: =IF(E15=1,IF(D15<>"",IF(AND(D15<>0,D15<>1),"mốt ","một "),"một "),E16)
E19: =IF(E15=5,IF(D15=0,"năm ",IF(D15="","năm ",E18)),E18)
E20: =IF(D15="",IF(AND(E15<>0,E15<>""),CONCATENATE(E19,"triệu "),""),CONCATENATE(E19,"triệu "))
E21: *
E22: =IF(LEN(B22)=3,VALUE(MID(B22,3,1)),IF(LEN(B22)=2,VALUE(MID(B22,2,1)),IF(LEN(B22)=1,B22,"")))
E23: =IF(E22=1,"một ",IF(E22=2,"hai ",IF(E22=3,"ba ",IF(E22=4,"bốn ",IF(E22=5,"lăm ",E24)))))
E24: =IF(E22=6,"sáu ",IF(E22=7,"bảy ",IF(E22=8,"tám ",IF(E22=9,"chín ",IF(E22=0,"","")))))
E25: =IF(E22=1,IF(D22<>"",IF(AND(D22<>0,D22<>1),"mốt ","một "),"một "),E23)
E26: =IF(E22=5,IF(D22=0,"năm ",IF(D22="","năm ",E25)),E25)
E27: =IF(D22="",IF(AND(E22<>0,E22<>""),CONCATENATE(E26,"tỉ "),""),CONCATENATE(E26,"tỉ "))
E28: *
 

File đính kèm

  • Copy of dichso.rar
    7.5 KB · Đọc: 222
Lần chỉnh sửa cuối:
Upvote 0
Ôi, quả thật là quá kỳ công nhưng tôi thấy không hiệu quả.
Việc chuyển số sang chữ đã thấy nhiều người viết, về thuật toán cũng nhiều, nhưng hầu hết đều viết dưới dạng cố định, người dùng khó tùy biến, người thì dùng mã Unicode, người thì dùng TCVN3, VNI...., vậy làm sao để cùng 1 chương trình ai cũng có thể sử dụng được.
Hãy sử dụng thử chương trình của tôi ở trên xem thế nào.
 
Upvote 0
Hàm VND đã chạy thử mấy năm rồi !

Tặng các bạn cái VND.
Một ít kiến thức học hỏi được từ diễn đàn GPEC này, mình đã làm và sử dụng cái VND này mấy năm nay rồi, rất OK (ngoài đọc số còn có xac định thứ trong tuần, tính tuổi ta theo năm sinh)
Có gì cho ý kiến nhé !
 

File đính kèm

  • VND.rar
    47.1 KB · Đọc: 517
Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn

nếu mình sử dụng macro này và tạo file xls trên máy mình có sử dụng hàm trong macro trên khi chép sang máy khác. Nếu bị chương trình duyệt virus hoặc các chương trình khác vô hiệu hóa hoặc xóa thì phải làm sao? Giải pháp nào là ok nhất để tránh gặp vấn đề này?

Thanks
 
Upvote 0
Nếu bạn chỉ cài trên máy của mình thì khi copy sang máy khác thì không thể sử dụng được. Nếu chương trình diệt virus như BKAV quét macro thì xem như bó tay.
 
Upvote 0
bạn ui, mình chọn đúng hết rùi nhưng khi kết quả lại là #Name? là sao vậy bạn? mình cần gấp lắm. thank trước nha.
 
Upvote 0
Tôi làm theo cách của bạn CATOPWAW thấy sử dụng đươc, nhung font chư thì bị lỗi. tôi muốn dùng chuẩn font Times New Roman thì làm cáhc nào xin các bạn chi giúp
 
Upvote 0
Các bạn giúp mình với. mình đã làm đúng như hường dấn nhưng vẫn báo lỗi [FONT=.VnTime]#NAME?[/FONT]lá sao? Mình dung file Vnd_Vn3. VD: khi mình muốn đổi số ô A1 thành chữ thì: =Vnd_Vn3(A1)
Cú pháp gọi hàm này như vậy có đúng ko hả các bạn. Giúp mình với. Mình rất cần cái này mà toàn phải đánh bằng tay.
 
Upvote 0
Chào các bạn. Mình đã làm đúng theo hướng dẫn và đã chạy rất tốt. Song mình chưa làm được phím tắt theo hương dẫn, vẫn phải đánh chữ " =sorachu() enter. Bạn nào giup minh với nhé. Trịnh cam ơn nhiều.
 
Upvote 0
Web KT
Back
Top Bottom