Cách đổi số thành chữ trong Excel đơn giản, nhanh chóng

Trong một số báo cáo, bạn cần chuyển tổng số từ dạng số sang bằng chữ, đặc biệt là trong kế toán. Sau đây Thủ thuật 123 sẽ hướng dẫn bạn một số cách tự động chuyển đổi số thành chữ trong Excel nhanh chóng nhất.

Cách đổi số thành chữ trong Excel

Sử dụng ứng dụng vnTools cho Excel 2007

Bạn có thể down Vntools ở đây:

vntools_120.rar

Mật khẩu giải nén: ThuThuat123.com

Sau khi bạn cài đặt VN tool, Excel sẽ tự động nhận Add-ins VN tools.

Excel sẽ tự động nhận Add-ins VN tool

Nếu bạn muốn đổi kiểu phông chữ hoặc kiểu chữ (in hoa in thường) thì bạn có thể chọn vào mục: Chuyển đổi Font Chữ hoặc Chuyển đổi Kiểu chữ và chọn theo nhu cầu của từng báo cáo.

Đổi kiểu font chữ hoặc kiểu chữ

Chọn kiểu chuyển đổi

Ở ô C1 = 100 000 000 và muốn chuyển sang dạng chữ ở ô C2. Thao tác làm sẽ như sau:

(1) Chọn chuột vào ô C1.

(2) Nhấp vào V Đổi số thành chữ(VN) nếu bạn muốn đổi sang tiếng Việt.

U Đổi số thành chữ(EN) nếu bạn muốn đổi sang tiếng anh.

(3) Cửa sổ Number to Text hiện ra.

(4) Chọn bảng mã cho chữ mà bạn muốn dùng.

(5) Mục Tùy chọn: nếu bạn muốn thể hiện đơn vị của đồng tiền thì nhấp V vào ô vông, nếu không muốn chuyển đổi số mà không có đơn vị tiền, thì bỏ chọn V.

(6) Nếu muốn kết quả trả về là một chuỗi công thức, bạn chọn Gọi hàm.

Nếu muốn kết quả trả về là bằng chữ, bạn chọn Bằng chữ.

(7) Bạn gõ vị trí của Ô chứa kết quả.

(8) Nhấp VND.

Number to Text

Và đây là kết quả khi bạn chọn Gọi hàm ở mục (6):

Kết quả khi gọi hàm

Kết quả khi bạn chọn Bằng chữ ở mục (6):

Kết quả khi chọn Bằng chữ

Nếu như bạn muốn bổ sung đơn vị tiền tệ, bạn chọn vào mục Tùy chọn, lựa chọn đơn vị tiền tệ muốn thể hiện.

Chọn Tùy chọn

Tuy nhiên thì Vntool thì chỉ hỗ trợ cho phiên bản Excel 32 bit.

Sử dụng VBA

Mở Visua basic bằng cách vào thẻ Developer => nhấp Visual Basic.

Chọn Visual Basic

Cửa sổ Microsoft Visual Basic for Applications hiện ra => nhấp chuột phải vào Ô VBA project => chọn Insert Module.

Chọn Insert Module

Copy đoạn mã VBA dưới đây vào trong Modules.


Public Function VND(chuyenso) 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(chuyenso) = "" Then
  VNDUni = ""
ElseIf IsNumeric(chuyenso) = True Then
  If chuyenso < 0 Then dau = ChrW(226) & "m " Else dau = ""
  chuyenso = Application.WorksheetFunction.Round(Abs(chuyenso), 0)
  chuyenso = " " & chuyenso
  chuyenso = Replace(chuyenso, ",", "", 1)
  vt = InStr(1, chuyenso, "E")
  If vt > 0 Then
    sonhan = Val(Mid(chuyenso, vt + 1))
    chuyenso = Trim(Mid(chuyenso, 2, vt - 2))
    chuyenso = chuyenso & String(sonhan - Len(chuyenso) + 1, "0")
  End If
  chuyenso = Trim(chuyenso)
  sochuso = Len(chuyenso) Mod 9
  If sochuso > 0 Then chuyenso = String(9 - (sochuso Mod 12), "0") & chuyenso
  VND = ""
  i = 1
  lop = 1
  Do
    n1 = Mid(chuyenso, i, 1)
    n2 = Mid(chuyenso, i + 1, 1)
    n3 = Mid(chuyenso, i + 2, 1)
    baso = Mid(chuyenso, i, 3)
    i = i + 3
    If n1 & n2 & n3 = "000" Then
      If VND <> "" And lop = 3 And Len(chuyenso) - i > 2 Then s123 = " t" & ChrW(7927) Else s123 = ""
    Else
      If n1 = 0 Then
        If VND = "" 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(chuyenso) 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
    VND = VND & s123
    If i > Len(chuyenso) Then Exit Do
  Loop
  If VND = "" Then VND = "kh" & ChrW(244) & "ng" Else VND = dau & Trim(VND)
Else
  VND = chuyenso
End If
End Function

Mã VBA

Đóng cửa sổ VBA, quay trở lại file Ecxel. Ở ô cần trả kết quả bạn gõ =VND(số), Excel sẽ chuyển sang chữ cho bạn.

Nhập =VND

Sử dụng Sheet phụ

Nếu như cách sử dụng Add-ins hoặc dùng code VBA quá phức tạp, vậy bạn có thể dùng sheet phụ mà thủ thuật giới thiệu dưới đây để chuyển đổi tiền từ số sang chữ một cách nhanh chóng.

Link down tại đây:

sheet_cach-doi-so-thanh-chu-trong-excel-don-gian-nhanh-chong.xlsx

Bạn chỉ cần nhập số cần chuyển vào ô B6, và kết quả sẽ trả về ở ô B7.

Sử dụng Sheet phụ

Lưu ý, vùng A1:M5 (vùng mà thủ thuật bôi mầu) bạn không được phép chỉnh sửa hoặc xóa vì sẽ ảnh hưởng đến kết quả.

Trên đây Thủ thuật 123 đã hướng dẫn bạn một số cách đổi số thành chữ trong Excel. Chúc các bạn thành công!

Viết bình luận