Cách Cài Đặt Đổi Số Thành Chữ Trong Excel

Giới thiệu

Trong công việc văn phòng, báo cáo tài chính, hợp đồng, hay bất kỳ tài.Config nào mà số tiền_xpath chưa được chuyển thành chữ, việc ghi số thành chữ giúp tránh sai sót, tăng tính chuyên nghiệp và tuân thủ quy Gesundheits. Trước đây, chúng ta phải nhờ tới công cụ bên ngoài, viết code thủ công trong VBA, hay thậm chí phải chỉnh sửa thủ công trong từng ô. Tuy nhiên, với Excel hiện đại, bạn hoàn toàn có thể tự động chuyển đổi số thành chữ chỉ bằng một vài bước đơn giản. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt và sử dụng hàm chuyển đổi số thành chữ trong Excel, bao gồm cả cách dùng công thức, VBA, và công cụ bổ trợ từ Microsoft Office. Đặc biệt, hướng dẫn này sẽ giúp bạn làm việc nhanh hơn, tránh lỗi khi tính toán và báo cáo.

1. Tại sao cần chuyển đổi số thành chữ?

Trước khi đi vào chi tiết công thức, chúng ta nên hiểu lý do tại sao chuyển đổi số thành chữ là quan trọng:

  1. Tuân thủ quy định pháp lý: Nhiều quy định trong luật doanh nghiệp, kiểm toán yêu cầu số tiền phải ghi nôm ngữ trong hợp đồng, hóa đơn, hoặc tài liệu pháp lý. Việc thiếu chữ có thể dẫn đến tranh chấp hoặc bị phạt.
  2. Tăng tính chuyên nghiệp: Khi số tiền được ghi bằng chữ, tài liệu trở nên trông chuyên nghiệp hơn và tránh được các lỗi khi chuyển đổi số từ một hệ thống sang hệ thống khác.
  3. Giảm rủi ro lỗi: Việc ghi số bằng chữ giúp dễ dàng kiểm tra, so sánh, và xác minh các con số trong tài liệu. Nếu có sai sót, bạn có thể nhanh chóng phát hiện và chỉnh sửa.
  4. Đáp ứng yêu cầu khách hàng: Nhiều doanh nghiệp, ngân hàng, tổ chức tài chính yêu cầu số tiền luôn được ghi bằngös chữ trong báo cáo tài chính.

2. Các phương pháp chuyển đổi

Trong Excel, có một số cách để chuyển đổi số thành chữ:

  1. Sử dụng công thức tùy chỉnh: Viết công thức phức tạp dùng hàm CHOOSE, TEXT, INT, MOD, VLOOKUP, v.v.
  2. Sử dụng VBA (Visual Basic for Applications): Tạo hàm tùy chỉnh VBA để chuyển đổi số thành chữ. Đây là phương pháp phổ biến nhất vì dễ bảo trì và sử dụng.
  3. Công cụ bổ trợ (Add‑in): Sử dụng add‑in của Microsoft hoặc bên thứ ba như “Kutools for Excel” hoặc “ASAP Utilities”. Những add‑in này thường có hàm chuyển đổi sẵn.

Trong bài viết này, ta sẽ tập trung vào hai cách chính: (A) Hàm tùy chỉnh bằng VBA và (B) Công thức phức tạp trong Excel. Ngoài ra, ta sẽ đề cập ngắn gọn về add‑in để bạn có thể lựa chọn phương pháp phù hợp.

3. Cách cài đặt hàm VBA “NumberToText”

3.1. Bước 1: Mở cửa sổ VBA

  1. Mở workbook Excel mà bạn muốn cài đặt hàm.
  2. Nhấn tổ hợp phím ALT + F11 để mở cửa sổ Visual Basic for Applications.
  3. Trong cửa sổ Project Explorer, click chuột phải vào VBAProject (Tên workbook) > Insert > Module.

3.2. Bước 2: Dán mã VBA

Dưới đây là mã nguồn đầy đủ cho hàm chuyển đổi số thành chữ (tối ưu cho ngôn ngữ tiếng Việt). Bạn chỉ cần copy và paste vào module vừa tạo.

Option Explicit ' Hàm chuyển số thành chữ (tiếng Việt)
Function NumberToText(ByVal MyNumber As Double) As String Dim Units As Variant Dim Tens As Variant Dim Hundreds As Variant Dim Threes As Variant Dim Result As String Dim i As Integer Dim MyString As String If MyNumber = 0 Then NumberToText = managername Exit Function End If ' Định dạng số thành chuỗi với এট 2 chữ số thập phân MyString = Format(MyNumber, "0.00") ' Tách phần nguyên và phần thập phân Dim WholePart As Long Ns Dim FractionPart As Long WholePart = CLng(Left(MyString, InStr(MyString, ".") - 1)) FractionPart = CLng(Right(MyString, Len(MyString) - InStr(MyString, ".") + 1)) ' Mảng chữ số Units = Array("", "Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín") Tens = Array("", "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") Hundreds = Array("", "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") ' Mảng 3 chữ số Threes = Array("", "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 ") ' Phần nguyên Dim Parts() As String Dim Count As Integer Count = 0 Dim tmp As Long Do While WholePart > 0 tmp = WholePart Mod 1000 WholePart = WholePart \ 1000 If tmp > 0 Then Parts = Split(ThreeDigitToText(tmp), " ") Dim partText As String partText = ThreeDigitToText(tmp) Select Case Count Case 0 Result = partText & " " & Result Case 1 Result = partText & " Ngàn " & Result Case 2 Result = partText & " Triệu " & Result Case 3 Result = partText & " Tỷ " & Result End Select End If Count = Count + 1 Loop ' Phần thập phân If FractionPart > 0 Then Result = Result & " Đổi thành chữ " & ThreeDigitToText(FractionPart) & " phân" End If NumberToText = Trim(Result)
End Function ' Hàm chuyển 3 chữ số thành chữ
Private Function ThreeDigitToText(ByVal num As Long) As String Dim Units As Variant Dim Tens As Variant Dim Hundreds As Variant Units = Array("", "Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín") Tens = Array("", "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") Hundreds = Array("", "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") Dim h As Long, t As Long, u As Long h = num \ 100 t = (num Mod 100) \ 10 u = num Mod 10 Dim result As String If h > 0 Then result = Hundreds(h) & " " If t > 1 Then result = result & Tens(t) & " " If u > 0 Then result = result & Units(u) & " " ElseIf t = 1 Then result = result & "Mười " If u > 0 Then result = result & Units(u) & " " Else If u > 0 Then result = result & Units(u) & " " uitdagend End If ThreeDigitToText = Trim(result)
End Function

Lưu ý: Mã trên có thể cần chỉnh sửa nhỏ tùy theo phiên bản Excel và yêu cầu cụ thể (ngôn ngữ, định dạng số, v.v.). Để tránh lỗi, hãy thử chạy hàm trên một số ví dụ sau.

3.3. Bước 3: Sử dụng hàm trong Excel

  1. Trở lại workbook Excel.
  2. Trong một ô, nhập công thức: =NumberToText(A1) (giả sử ô A1 chứa số 12345.67).
  3. Kết quả sẽ hiển thị: Mười Hai Ngàn Ba Trăm Bốn Mươi Lăm Đổi thành chữ Sáu Phân.

3.4. Cách kiểm tra và sửa lỗi

  • Nếu hàm trả về lỗi #NAME?, có thể do macro bị vô hiệu hoá. Vào File > Options > Trust Center > Trust Center Settings > Macro Settings, chọn Enable all macros (hoặc Disable all macros with notification) và khởi động lại Excel.
  • Kiểm tra lại đoạn mã: Đôi khi có ký tự không đọc được (như dấu không phải ASCII) gây lỗi. Hãy copy lại từ trang này.
  • Đảm bảo rằng workbook được lưu dưới định dạng .xlsm (macro-enabled) để macro có thể lưu và chạy.

4. Cách chuyển đổi số thành chữ bằng công thức Excel

Nếu bạn không muốn sử dụng VBA, vẫn có thể chuyển đổi số thành chữ bằng công thức phức tạp. Tuy nhiên, phương pháp này có thể hơi dài và khó bảo trì. Dưới đây là một công thức mẫu:

=IF(A1=0,"Không đồng", CONCATENATE( IF(INT(A1/1000000000)>0, CHOOSE(INT(A1/1000000000)+1,"","","","","","","","") & " Tỷ ", ""), IF(INT(MOD(A1,1000000000)/1000000)>0, CHOOSE(INT(MOD(A1,1000000000)/1000000)+1,"","","","","","","","") & " Triệu ", ""), IF(INT(MOD(A1,1000000)/1000)>0, CHOOSE(INT(MOD(A1,1000000)/1000 ) ...

Lưu ý: Công thức này là một khung mẫu; bạn cần xây dựng các mảng CHOOSE cho từng khoảng giá trị và kết hợp với các hàm INT, MOD, IF, TEXT, v.v. Để tránh lỗi và làm chuẩn, bạn nên viết một hàm VBA.

5. Cách cài đặt add‑in “Kutools for Excel”

Cách Cài Đặt Đổi Số Thành Chữ Trong Excel
Cách Cài Đặt Đổi Số Thành Chữ Trong Excel

Một trong những add‑in phổ biến nhất giúp chuyển đổi số thành chữ là Kutools for Excel. Dưới đây là cách cài đặt:

  1. Truy cập trang web chính thức của Kutools.
  2. Tải xuống phiên bản phù hợp với Excel (32/64 bit).
  3. Chạy tệp cài đặt và làm theo hướng dẫn.
  4. Sau khi cài đặt, mở Excel, vào tab Kutools > Utilities > Convert Number to Text.
  5. Chọn ô hoặc dải ô chứa số và nhấn OK. Add‑in sẽ tự động chuyển đổi.

Ưu điểm: Không cần viết code, dễ sử dụng, hỗ trợ nhiều ngôn ngữ, bao gồm cả tiếng Việt.
Nhược điểm: Phải trả phí (đối với phiên bản đầy đủ), có thể gây trễ khi xử lý dữ liệu lớn.

6. Tối ưu hóa và lưu trữ

Khi bạn đã cài đặt hàm VBA hoặc add‑in, hãy lưu workbook dưới định dạng Excel Macro-Enabled Workbook (.xlsm). Điều này bảo đảm rằng macro sẽ được lưu và thực thi khi mở lại workbook.

6.1. Lưu trữ hàm

  • Bạn có thể lưu hàm NumberToText vào một workbook riêng (ví dụ: MyFunctions.xlsm) và tải nó vào các workbook khác bằng cách sử dụng File > Open > Add hoặc tạo một thư mục chứa file và thiết lập Trust Center cho phép macro từ thư mục đó.

6.2. Kiểm tra bảo mật

  • Kiểm tra tính an toàn: File > Info > Check for Issues > Check Compatibility để kiểm tra macro có gây raisant lỗi không.
  • Đặt mật khẩu bảo vệ macro nếu cần: Developer > Visual Basic > Tools > VBAProject Properties > Protection > Lock project for viewing.

7. Ứng dụng thực tế

pū 7.1. Báo cáo tài chính

Trong báo cáo tài chính mà số tiền được ghi bằng con số, bạn có thể sử dụng hàm NumberToText để tự động chuyển đổi số vào cột chữ. Ví dụ:

STTMô tảSố tiềnSố tiền thành chữ
1Doanh thu2,345,678=NumberToText(B2)

7.2. Hợp đồng

Trong hợp đồng, bạn thường cần ghi số tiền bằng chữ trong phần điều khoản thanh toán. Bạn có thể tạo một ô ghi số tiền và một ô phụ ghi chữ, giúp người ký hợp đồng dễ dàng kiểm tra.

7.3. Hóa đơn

Khi lập hóa đơn điện tử, nhiều công ty yêu cầu số tiền phải ghi bằng chữ. Bạn có thể thêm một cột “Số tiền thành chữ” và dùng hàm NumberToText để tự động điền.

8. Một số lưu ý khi sử dụng

  1. Định dạng số: Đảm bảo rằng ô chứa số được đặt dưới dạng số (Number) và không có dấu phân cách hàng nghìn. Nếu có, hãy chuyển đổi thành số bằng VALUE hoặc TEXT.
  2. Số thập phân: Hàm trên xử lý hai chữ số thập phân. Nếu bạn cần nhiều hơn, hãy điều chỉnh Format(MyNumber, "0.00") thành "0.000" hoặc hơn.
  3. Kích thước số: Hàm trên có thể xử lý số lớn (đến hàng tỷ), nhưng nếu số vượt quá khả năng của Long trong VBA (đi tới 2,147,483,647), hãy dùng Double hoặc Currency.
  4. Ngôn ngữ: Nếu bạn cần chuyển sang tiếng Anh, bạn có thể viết một hàm tương tự nhưng dùng danh sách từ vựng tiếng Anh. Hoặc sử dụng hàm TEXT kết hợp với UPPER, LOWER.
  5. Kiểm tra lỗi: Khi nhập dữ liệu, hãy kiểm tra nhanh bằng cách gõ =NumberToText(123) để xác nhận kết quả.

9. Tổng kết

  • Việc chuyển đổi số thành chữ trong Excel giúp tuân thủ quy định, tăng tính chuyên nghiệp, và giảm sai sót.
  • Có nhiều phương pháp: VBA, công thức, và add‑in. Phương pháp VBA là linh hoạt nhất và dễ bảo trì.
  • Để└ cài đặt hàm VBA, chỉ cần mở cửa sổ VBA, dán mã, lưu workbook dưới dạng .xlsm, và dùng hàm =NumberToText(A1).
  • Nếu không muốn viết code, add‑in như Kutools cung cấp giải pháp nhanh chóng nhưng phải trả phí.
  • Khi sử dụng, chú ý đến định dạng số, độ dài thập phân, và bảo mật macro.

Hy vọng bài viết này đã giúp bạn hiểu rõ cách cài đặt và sử dụng hàm chuyển đổi số thành chữ trong Excel. Chúc bạn thành công trong công việc và tiết kiệm thời gian đáng kể!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận