Công thức chuyển số sang chữ trong Excel

  • Thread starter DuongLanVi
  • Ngày gửi
DuongLanVi

DuongLanVi

Cao cấp
16/6/13
274
67
28
31
Ho Chi Minh City, Vietnam, Vietnam
Công thức chuyển số sang chữ trong Excel 2007 - 2010

Mượn bài của một bạn hỏi về vấn đề này, hôm nay mình viết 1 topic để mọi người tiện theo dõi.

Đây là công cụ bổ sung (Add-in) cho Excel rất tiện lợi đặc biệt đối với người dùng Excel trong công việc kế toán-tài chính. Công cụ vnTools khi chạy sẽ cài tập tin Ufunctions.xla vào thư mục mặc định Program Files\vnTools (có thể chỉ định thư mục khác).

Cách thêm cung cụ này vào Excel
+ Bấm vào nút to, tròn ở góc đỉnh bên trái màn hình (đối với Word 2007 ) hay Flie (đối với Word 2010)
+ Chọn "Options"
+ Chọn "Add-Ins" chọn "Excel Add-Ins" cuối cùng chọn "Go"



1.png


+ Tại màn hình "Add-Ins" bấm chọn "Browse"
2.png


và chọn file Ufunctions.xla trong C:\Program Files\vnTools

vnTools xuất hiện ở dạng thanh công cụ, có hộp thoại thao tác tương tự như các hàm của Excel - trong đó bạn có thể chọn ô chứa số cần chuyển đổi, ô chứa chuỗi kết quả...
3.png


vnTools hỗ trợ chuyển đổi tiền VND (đồng) và USD (đô la), có khả năng xử lý tới 15 chữ số; hỗ trợ bảng mã tiếng Việt Unicode, VNI và TCVN3.

Download phần mềm tại đây

Nếu mọi người ủng hộ mình sẽ viết thêm một bài cho Excel 2003 :D

Ngoài ra các bạn có thể dùng công cụ VBA có kèm theo hàm đọc số sang chữ dưới đây:

(vd: 1234=Một nghìn hai trăm ba mươi tư)
Giúp người dùng có thể tận dụng trong kế toán khá hữu ích! Trong file gồm hai hàm đọc số sang tiếng việt theo phông chữ TCVN3 và Unicode.
http://webketoan.net/upfile/docsosangchu.xlsm


Hướng dẫn sữ dụng: VD ta muốn chuyển số 2000 ta nhập
=DocSouni(2000) với phong chữ unicode
=DocSoTCVN(2000) với phong chữ TCVN (.vntime...)


Hiên nay đơn vị em đang có tài khoản ở Techcombank và thường viết Uỷ nhiệm chi từ Excel. Anh/chị nào có hàm chuyển đổi từ dạng số sang chữ thì cho em xin với nhé.
Em cám ơn nhiều.
 

Đính kèm

  • vnTools.zip
    265.2 KB · Lượt xem: 49,736
Sửa lần cuối:
  • Like
Reactions: Sửa Phần Cứng
Khóa học Quản trị dòng tiền
L

lnthao

Guest
10/4/10
2
0
0
50
Bien Hoa
Hiên nay đơn vị em đang có tài khoản ở Techcombank và thường viết Uỷ nhiệm chi từ Excel. Anh/chị nào có hàm chuyển đổi từ dạng số sang chữ thì cho em xin với nhé.
Em cám ơn nhiều.
Thao minh nghi thi ban nen dung *dích so" vua don gian vua de su dung chi cai dat trong vong 1 phút
neu can cho dc mail minh se gui duong dan cho ban
 
V

vuchinh1973

Guest
19/1/10
1
0
0
51
tp ho chi minh
Xin chào cả nhà
mình không phải dân kế toán nhưng mình cũng đôi khi làm về excel nên mong các bạn giúp đỡ
thank
 
trantri1311

trantri1311

Trung cấp
5/9/08
113
0
0
42
Hồ Chí Minh
www.bestdeal.vn
File của nguyentrangkt quá ok rồi, chỉ tội là số tiền nhỏ hơn 10 tỷ thôi, USD thì khó, nhưng VND 10 tỷ chẳng nhằm nhò gì
 
M

minh toan

Cao cấp
9/6/08
334
1
0
000
Các bác ơi giúp em với em cũng muốn cài chương trình này mà khi đánh số trong EXCEL sẽ hiện lên chữ .
Chân thành cảm ơn!
 
G

giangngocduc

Guest
2/10/10
3
0
0
44
Kien Giang
Mình có file này cũng dịch số ra chữ nhưng đơn giản và dễ xài hơn nhiều cách thực hiện
Giải nén bạn sẽ có file xls 39 KB chép nó vào C:\Program Files\Microsoft Office\OFFICE11\XLSTART
Cách dùng :
Mở Excel công thức thực hiện :
Font Vni : =dichsovni(địa chỉ ô chứa số) -> Enter
Font ABC : =dichsovn3(địa chỉ ô chứa số) -> Enter
Font Uni : =dichsoun(địa chỉ ô chứa số) -> Enter
 

Đính kèm

  • Personal.rar
    12.5 KB · Lượt xem: 5,981
J

jobe

Trung cấp
30/5/08
109
0
16
Hà Nội
Bạn thử dùng hàm này xem nhé.
Cách cài đặt: Tools/Add-ins/Browse...

Cài đặt xong ta có 07 hàm để sử dụng, bao gồm:

1, DocSoVni(số) Đọc số mã VNI Windows
2, DocSoVniH(số) Đọc số mã VNI Windows (ký tự đầu viết hoa)
3, DocSoAbc(số) Đọc số mã TCVN3-ABC
4, DocSoAbcH(số) Đọc số mã TCVN3-ABC (ký tự đầu viết hoa)
5, DocSoUni(số) Đọc số mã Unicode
6, DocSoUniH(số) Đọc số mã Unicode (ký tự đầu viết hoa)
7, NhomNgan(số) Định dạng số sang dạng 0.000

Ví dụ:
Giá trị tại ô A1 là "1.000"
Đặt hàm "=DocSoUni(A1)" tại ô A2, ấn Enter
Giá trị tại ô A2 sẽ là "Một nghìn" theo font Unicode.

Nếu muốn chuyển đổi giá trị tại ô A2 là "Một nghìn đồng" thì ta thêm đoạn
(&" đồng") vào đuôi công thức tại ô A2.
Lúc đó công thức tại ô A2 sẽ là =DocSoUni(A1)&" đồng"
Như vậy giá trị tại A2 sẽ là "Một nghìn đồng".

Tương tự đối với đồng EURO, USD, GBP,...

Note: Vì dung lượng file gửi vượt mức nên không upload được file này, nếu bạn cần hãy liên hệ qua nick Y!M tookblack, tôi sẽ gửi cho bạn.

Mình đã cài file vnduni() của một bạn trên diễn đàn post lên và chạy ngon lành rồi nhưng file này chỉ đọc số sang chữ được với tiền đồng việt nam, mình muốn đọc số sang chữ các đơn vị tiền tệ khác thì phải làm thế nào nhỉ. VD: USD, GBP, SGD, JPY,... Bạn nào biết chỉ mình với
 
V

vothihongxanh

Guest
17/12/08
2
0
3
Bến Tre
các anh/chị ơi! e đã cài phần mền đọc số thành chữ Tool/Add-in, tất cả e đều làm như hướng dẫn, vậy công thức để đọc được là gì, các a/ch chỉ giúp e với. em rất cần, Cám ơn các a/ch nhiều

em làm rồi, nhưng không đọc đc thành chữ, báo " name", nhưng e ko biết sai chổ nào nữa.
 
Sửa lần cuối:
A

autokiss

Guest
1/10/08
4
1
3
44
QN
các anh/chị ơi! e đã cài phần mền đọc số thành chữ Tool/Add-in, tất cả e đều làm như hướng dẫn, vậy công thức để đọc được là gì, các a/ch chỉ giúp e với. em rất cần, Cám ơn các a/ch nhiều

em làm rồi, nhưng không đọc đc thành chữ, báo " name", nhưng e ko biết sai chổ nào nữa.

Chắc bạn dùng tiện ích tcvn đúng không? Nếu thế công thức bạn cần đánh từ ô B2 để đọc số ô B1 là =doc_sovnd(B1;2)

Nếu bài đã cài tiện ích rồi mà gõ như vậy bị lỗi thì bạn đối dấu ";" thành dấu "," hoặc nếu chữ không đọc được thì bạn đổi số 2 thành số 1 (Đổi VnTime thành Times New Roman)
 
L

lamthediep584

Sơ cấp
7/5/09
6
0
1
TN
Bạn ơi cho mình hỏi chút, mình cài chương trình đổi số của bạn, nhưng khi đặt công thức thì Tiếng Việt bị lỗi font chữ, làm thế nào để ko bị lỗi nhỉ bạn chỉ giúp mình với. Tks nhiều!

Lý ra bạn phải post bài bên mục Thành viên giúp nhau mới đúng!

Bạn tải Tool này về sẽ đáp ứng được nhu cầu của bạn

Bạn ơi cho mình hỏi chút, mình cài chương trình đổi số của bạn, nhưng khi đặt công thức thì Tiếng Việt bị lỗi font chữ, làm thế nào để ko bị lỗi nhỉ bạn chỉ giúp mình với. Tks nhiều!
 
Sửa lần cuối:
S

sosad

Guest
8/7/10
1
0
0
TpHCM
mình đã làm theo cách của bạn đã ok, nhưng ghi đổi ra chữ nó có ngăn cách dấu phẩy như sau : Hai trăm ba mươi ba triệu, bốn trăm ngàn, đồng chẵn
Làm cách nào có thể bỏ dấu (,) này không, giúp mình nhé
 
B

buithecuong

Guest
11/6/11
1
0
0
40
Hà nội
vntools dung hay đấy, mình cũng vừa tải về, vừa chuyển đổi phông chữ, vừa chuyển số thành chữ,
 
T

thothoo

Guest
24/9/12
1
0
0
34
ca mau
Ðề: Công thức chuyển số sang chữ trong Excel

Mình có file này cũng dịch số ra chữ nhưng đơn giản và dễ xài hơn nhiều cách thực hiện
Giải nén bạn sẽ có file xls 39 KB chép nó vào C:\Program Files\Microsoft Office\OFFICE11\XLSTART
Cách dùng :
Mở Excel công thức thực hiện :
Font Vni : =dichsovni(địa chỉ ô chứa số) -> Enter
Font ABC : =dichsovn3(địa chỉ ô chứa số) -> Enter
Font Uni : =dichsoun(địa chỉ ô chứa số) -> Enter

Cái của bạn giangngocduc rất hay đó. Nhưng có cách nào sữa chữ CHẲN thành CHẴN được không? Hoặc bỏ luôn chữ chẵn. Thanks bạn nhiều
 
H

hienmoney

Guest
3/3/13
1
0
0
38
daklak
Ðề: Công thức chuyển số sang chữ trong Excel

Trước tiên mình cảm ơn bạn trước nha, mình tìm công thức này lâu rồi mà ko biết tìm đâu hôm nay tình cờ vào tham gia diễn đàn webketoan mới hay bạn có bí kíp, vậy bạn gửi qua nick này giùm mình nha: goodnguyen566@yahoo.com
 
S

standapro

Guest
1/6/13
1
0
0
37
dinh trang hoa di linh
Ðề: Công thức chuyển số sang chữ trong Excel

Cái này hay. nhưng ví dụ như : Ba mươi sáu triệu, không trăm hai mươi lăm ngàn, đồng chẵn
bác bỏ giùm mình dấu 1 dấu phẩy ở chữ "ngàn," được không.
thak bác nhiều !
 
C

Congai2002

Guest
25/12/09
1
0
0
Hà Nội
Ðề: Công thức chuyển số sang chữ trong Excel

Mình đã cài file vnduni() của một bạn trên diễn đàn post lên và chạy ngon lành rồi nhưng file này chỉ đọc số sang chữ được với tiền đồng việt nam, mình muốn đọc số sang chữ các đơn vị tiền tệ khác thì phải làm thế nào nhỉ. VD: USD, GBP, SGD, JPY,... Bạn nào biết chỉ mình với

Mình cũng có nhu cầu giống bạn này.
Mọi người ơi vào giúp chúng mình giải quyết việc này được không?
Chúc cả nhà cuối tuần vui vẻ nhé.
 
H

hoadongxu

Sơ cấp
30/9/13
6
0
0
35
Hà Nội
Ðề: Công thức chuyển số sang chữ trong Excel

Hình đợt trước t có nhớ là cài thêm tiện ích gì thì phải
 
cold

cold

Cao cấp
20/12/05
243
42
28
47
A2,Hoang Hoa Tham,Q.TB
Ðề: Công thức chuyển số sang chữ trong Excel

To Congai2002
Bạn thử dùng theo cách sau xem sao:

Cách đổi số ra chữ trong Excel
Để tạo 1 đoạn mã Macro chuyển đổi số ra chữ trong 1 file Excel bạn làm các bước sau:
1. Mở và Save tên tập tin Excel mới
2. Đoạn mã Macro luôn chạy ở mức "Security trung bình or thấp": chọn Tools-->Macro-->Security-->chọn Medium hoặc Low
3. Vào chương trình Visual Basic: chọn Tools-->Macro-->Security-->Visual Basic Editor--> Hiện cửa sổ Microsoft Visual Basic
4. Trong cửa sổ Microsoft Visual Basic: chọn Insert --> Module--> xuất hiện khoảng trắng bên phải --> bạn "Copy" đoạn mã Macro màu xanh dưới đây vào khoảng trắng này

Function DocSoVni(conso) As String
s09 = Array("", " moät", " hai", " ba", " boán", " naêm", " saùu", " baûy", " taùm", " chín")
lop3 = Array("", " trieäu", " nghìn", " tyû")
If Trim(conso) = "" Then
DocSoVni = ""
ElseIf IsNumeric(conso) = True Then
If conso < 0 Then dau = "aâm " Else dau = ""
conso = Application.WorksheetFunction.Round(Abs(conso), 0)
conso = " " & conso
conso = Replace(conso, ",", "", 1)
vt = InStr(1, conso, "E")
If vt > 0 Then
sonhan = Val(Mid(conso, vt + 1))
conso = Trim(Mid(conso, 2, vt - 2))
conso = conso & String(sonhan - Len(conso) + 1, "0")
End If
conso = Trim(conso)
sochuso = Len(conso) Mod 9
If sochuso > 0 Then conso = String(9 - (sochuso Mod 12), "0") & conso
docso = ""
i = 1
lop = 1
Do
n1 = Mid(conso, i, 1)
n2 = Mid(conso, i + 1, 1)
n3 = Mid(conso, i + 2, 1)
baso = Mid(conso, i, 3)
i = i + 3
If n1 & n2 & n3 = "000" Then
If docso <> "" And lop = 3 And Len(conso) - i > 2 Then s123 = " tyû" Else s123 = ""
Else
If n1 = 0 Then
If docso = "" Then s1 = "" Else s1 = " khoâng traêm"
Else
s1 = s09(n1) & " traêm"
End If
If n2 = 0 Then
If s1 = "" Or n3 = 0 Then
s2 = ""
Else
s2 = " linh"
End If
Else
If n2 = 1 Then s2 = " möôøi" Else s2 = s09(n2) & " möôi"
End If
If n3 = 1 Then
If n2 = 1 Or n2 = 0 Then s3 = " moät" Else s3 = " moát"
ElseIf n3 = 5 And n2 <> 0 Then
s3 = " laêm"
Else
s3 = s09(n3)
End If
If i > Len(conso) Then
s123 = s1 & s2 & s3
Else
s123 = s1 & s2 & s3 & lop3(lop)
End If
End If
lop = lop + 1
If lop > 3 Then lop = 1
docso = docso & s123
If i > Len(conso) Then Exit Do
Loop
If docso = "" Then DocSoVni = "khoâng" Else DocSoVni = dau & Trim(docso)
Else
DocSoVni = conso
End If
End Function
Function DocSoUni(conso) As String
s09 = Array("", " m" & ChrW(7897) & "t", " hai", " ba", " b" & ChrW(7889) & "n", " n" & ChrW(259) & "m", " s" & ChrW(225) & "u", " b" & ChrW(7843) & "y", " t" & ChrW(225) & "m", " ch" & ChrW(237) & "n")
lop3 = Array("", " tri" & ChrW(7879) & "u", " ngh" & ChrW(236) & "n", " t" & ChrW(7927))
'Stop
If Trim(conso) = "" Then
DocSoUni = ""
ElseIf IsNumeric(conso) = True Then
If conso < 0 Then dau = ChrW(226) & "m " Else dau = ""
conso = Application.WorksheetFunction.Round(Abs(conso), 0)
conso = " " & conso
conso = Replace(conso, ",", "", 1)
vt = InStr(1, conso, "E")
If vt > 0 Then
sonhan = Val(Mid(conso, vt + 1))
conso = Trim(Mid(conso, 2, vt - 2))
conso = conso & String(sonhan - Len(conso) + 1, "0")
End If
conso = Trim(conso)
sochuso = Len(conso) Mod 9
If sochuso > 0 Then conso = String(9 - (sochuso Mod 12), "0") & conso
docso = ""
i = 1
lop = 1
Do
n1 = Mid(conso, i, 1)
n2 = Mid(conso, i + 1, 1)
n3 = Mid(conso, i + 2, 1)
baso = Mid(conso, i, 3)
i = i + 3
If n1 & n2 & n3 = "000" Then
If docso <> "" And lop = 3 And Len(conso) - i > 2 Then s123 = " t" & ChrW(7927) Else s123 = ""
Else
If n1 = 0 Then
If docso = "" Then s1 = "" Else s1 = " kh" & ChrW(244) & "ng tr" & ChrW(259) & "m"
Else
s1 = s09(n1) & " tr" & ChrW(259) & "m"
End If
If n2 = 0 Then
If s1 = "" Or n3 = 0 Then
s2 = ""
Else
s2 = " linh"
End If
Else
If n2 = 1 Then s2 = " m" & ChrW(432) & ChrW(7901) & "i" Else s2 = s09(n2) & " m" & ChrW(432) & ChrW(417) & "i"
End If
If n3 = 1 Then
If n2 = 1 Or n2 = 0 Then s3 = " m" & ChrW(7897) & "t" Else s3 = " m" & ChrW(7889) & "t"
ElseIf n3 = 5 And n2 <> 0 Then
s3 = " l" & ChrW(259) & "m"
Else
s3 = s09(n3)
End If
If i > Len(conso) Then
s123 = s1 & s2 & s3
Else
s123 = s1 & s2 & s3 & lop3(lop)
End If
End If
lop = lop + 1
If lop > 3 Then lop = 1
docso = docso & s123
If i > Len(conso) Then Exit Do
Loop
If docso = "" Then DocSoUni = "kh" & ChrW(244) & "ng" Else DocSoUni = dau & Trim(docso)
Else
DocSoUni = conso
End If
End Function

5. Save và turn off cửa sổ Microsoft Visual Basic
6. Tại cửa sổ Microsoft Excel ta sẽ test như sau:
- Địa chỉ A1 gõ: 123.456.789
- Địa chỉ A2 gõ: =DocSoUni(A1) hoặc =DocSoVni(A1)
*Do đơn vị tiền tệ có thể là VNĐ, YEN, USD, EURO...nên kết hợp thêm lệnh xử lý text...bạn gõ lại như sau:
=DocSoUni(A1)&" VNĐ" hoặc =DocSoVni(A1)&" USD" (nhớ thêm khoảng cách trong dấu "")

**Chú thích:
- Trong đoạn mã Macro có 2 dòng màu xanh dương in đậm là DocSoVni và DocSoUni... đây là câu lệnh để đọc số theo dạng font Unicode hoặc Vni-Times...ai dùng font nào thì dùng câu lệnh đó
 
  • Like
Reactions: Quangnghialxag
mrhung

mrhung

Nguyễn Trọng Hùng
23/4/08
339
19
18
Hà Giang
webketoan.vn
Ðề: Công thức chuyển số sang chữ trong Excel

Lap của mình dùng win8 64, có dùng được ko bạn?
 

Xem nhiều

Webketoan Zalo OA