Excel không có chức năng hay hàm mặc định có sẵn nào để giúp chuyển số sang dạng từ tiếng Việt trong trang tính. Vậy có cách nào để lập công thức số tiền bằng chữ trong Excel không? Cùng Phanmemgoc.vn đi tìm kiếm câu trả lời cho vấn đề này trong bài viết dưới đây.Lap cong thuc so tien bang chu trong Excel 00

Có cách nào để lập công thức số tiền bằng chữ trong Excel không?

Câu trả lời là không và có, không là không có bất kỳ hàm có sẵn nào trong Excel có thể thực hiện việc đổi số thành chữ trong Excel cả. Còn có ở đây là có thể lập công thức số tiền bằng chữ trong Excel thông qua việc tự tạo một hàm đổi số thành chữ trong Excel với ngôn ngữ lập trình VBA (Visual Basic for Applications) và các công cụ được Microsoft tích hợp để viết và chạy các đoạn mã được người dùng tạo ra này.

Bạn nghĩ rằng chúng quá khó để có thể thực hiện được điều này. Điều đó là đúng đối với những người không biết và hiểu lập trình là gì. Thế như trong hướng dẫn sau đây chúng tôi sẽ hướng dẫn bạn cách thêm hàm đổi số thành chữ trong Excel mà thôi, việc viết ra đoạn mã này đã được chúng tôi tìm hiểu và tạo sẵn cho bạn. Theo dõi tiếp phần dưới đây để có thể thực hiện được điều này.

Lập công thức số tiền bằng chữ trong Excel bằng VBE

Sử dụng VBA (Visual Basic for Application) để thêm hàm đổi số thành chữ trong Excel với bất kỳ phiên bản nào từ Excel 2003, 2010 hoặc mới hơn (khả năng tương thích ngược từ phiên bản cao xuống phiên bản thấp hơn là không thể, bạn nên lưu ý vấn đề này khi gửi tệp trang tính Excel của mình cho người khác).

Cách lập công thức số tiền bằng chữ trong Excel được thực hiện một cách dễ dàng nhờ sự hỗ trợ của VBE như sau:

1. Sử dụng phím tắt Alt + F11 để mở Visual Basic Editor (VBE).

Lap cong thuc so tien bang chu trong Excel 01

  • Bạn có thể truy cập vào trình soạn thảo Visual Basic bằng cách vào mục Developer trên thanh công cụ. Nếu thanh công cụ không xuất hiện mục Developer này có thể làm như sau: File > Options > Customize Ribbon > Bên cột Main Tabs tích chọn hộp đánh dấu Developer.

Lap cong thuc so tien bang chu trong Excel 02

2. Trong cửa sổ hộp thoại VBA nhấp vào tab Insert > Module.

Lap cong thuc so tien bang chu trong Excel 03

3. Sao chép đoạn mã sau vào trong trình soạn thảo. Đoạn mã này sẽ tự động hóa tác vụ đổi số thành chữ trong Excel cho trang tính của bạn.

Option Explicit
‘Main Function
Function SpellNumber(ByVal MyNumber)
Dim VND, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = ” Ngan “
Place(3) = ” Trieu “
Place(4) = ” Ti “
Place(5) = ” Ngin Ti “

MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, “.”)
If DecimalPlace > 0 Then
MyNumber = Trim(Left(MyNumber, DecimalPlace – 1))
End If
Count = 1
Do While MyNumber <> “”
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> “” Then VND = Temp & Place(Count) & VND
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) – 3)
Else
MyNumber = “”
End If
Count = Count + 1
Loop
Select Case VND
Case “”
VND = “Khong Dong”
Case “One”
VND = “Mot Dong”
Case Else
VND = VND & ” Dong”
End Select
SpellNumber = VND
End Function

Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right(“000” & MyNumber, 3)
‘ Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> “0” Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & ” Tram “
End If
‘ Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> “0” Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function

Function GetTens(TensText)
Dim Result As String
Result = “” ‘ Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ‘ If value between 10-19…
Select Case Val(TensText)
Case 10: Result = “Muoi”
Case 11: Result = “Muoi Mot”
Case 12: Result = “Muoi Hai”
Case 13: Result = “Muoi Ba”
Case 14: Result = “Muoi Bon”
Case 15: Result = “Muoi Nam”
Case 16: Result = “Muoi Sau”
Case 17: Result = “Muoi Bay”
Case 18: Result = “Muoi Tam”
Case 19: Result = “Muoi Chin”
Case Else
End Select

Else ‘ If value between 20-99…
Select Case Val(Left(TensText, 1))
Case 2: Result = “Hai Muoi “
Case 3: Result = “Ba Muoi “
Case 4: Result = “Bon Muoi “
Case 5: Result = “Nam Muoi “
Case 6: Result = “Sau Muoi “
Case 7: Result = “Bay Muoi “
Case 8: Result = “Tam Muoi “
Case 9: Result = “Chin Muoi “
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ‘ Retrieve ones place.
End If
GetTens = Result
End Function

Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = “Mot”
Case 2: GetDigit = “Hai”
Case 3: GetDigit = “Ba”
Case 4: GetDigit = “Bon”
Case 5: GetDigit = “Nam”
Case 6: GetDigit = “Sau”
Case 7: GetDigit = “Bay”
Case 8: GetDigit = “Tam”
Case 9: GetDigit = “Chin”
Case Else: GetDigit = “”
End Select
End Function

Lap cong thuc so tien bang chu trong Excel 04

4. Nhấn Alt + Q để quay trở lại trang tính Excel. Và giờ đây hàm SpellNumber() đã sẵn sàng có trong công thức để sử dụng.

Lap cong thuc so tien bang chu trong Excel 05

Lưu ý: Chức năng này chỉ hoạt động cho sổ làm việc hiện tại. Để sử dụng chức năng này trong một file Excel khác, bạn phải lặp lại các bước để sao chép và dán mã trong sổ làm việc đó.

Cách sử dụng hàm đổi số thành chữ trong Excel

Ngay trang tính bạn mới vừa thêm hàm SpellNumber() ở trên vào trong VBA, bạn có thể sử dụng được ngay hàm đổi số thành chữ SpellNumber() ngay mà không cần thực hiện thêm một thao tác nào khác.

Công thức tổng quát là: =SpellNumber(số tiền nhập vào ở dạng số)

Bạn có thể nhập thủ công số tiền hoặc có thể đưa giá trị là một ô tính chứa số tiền bạn muốn chuyển đổi “=SpellNumber(A1)“.

Xem cách sử dụng hàm đổi số thành chữ trong Excel thông qua ví dụ minh họa về việc nhập liệu một phiếu thu tiền với thông tin bao gom là số tiền ở dạng cả số và chữ.

Lap cong thuc so tien bang chu trong Excel 06

Thay vì nhập thủ công ra chữ số tiền nộp trong ô B7 bạn có thể sử dụng hàm SpellNumber bằng cách nhập công thức sau vào ô B8 =SpellNumber(B7).

Lap cong thuc so tien bang chu trong Excel 07

Cách lưu bảng tính Excel có chứa hàm SpellNumber của bạn

Excel không thể lưu sổ làm việc với các hàm macro ở định dạng sổ làm việc không có macro chuẩn (.xlsx). Nếu bạn bấm vào File > Save. Một hộp thoại nhắc nhở dự án VB sẽ mở ra. Nhấp vào No.

Bạn có thể lưu tệp của mình dưới dạng tệp có hỗ trợ Macro Excel (.xlsm) để giữ tệp của bạn ở định dạng hiện tại.

1. Nhấp vào File > Save as.

2. Bấm vào trình đơn thả xuống Save as và chọn Excel Macro-Enabled Workbook.

3. Nhấn Save để lưu lại tệp bảng tính Excel có chứa mã hàm SpellNumber.

Lap cong thuc so tien bang chu trong Excel 09

Nhược điểm của lập công thức số tiền bằng chữ trong Excel

Trước hết, bạn phải biết VBA để sửa đổi mã theo nhu cầu của bạn. Cần phải dán mã cho mỗi sổ làm việc, nơi bạn có ý định sử dụng hàm đổi số thành chữ trong Excel. Nếu không, bạn sẽ cần tạo tệp mẫu với macro và định cấu hình Excel để tải tệp này mỗi lần bắt đầu.

Bất lợi chính của việc sử dụng macro là nếu bạn gửi sổ làm việc cho người khác, người này sẽ không nhìn thấy văn bản trừ khi Macro được tích hợp vào sổ làm việc. Và ngay cả khi nó được tích hợp sẵn, họ sẽ nhận được cảnh báo rằng có Macro trong sổ làm việc.

Lap cong thuc so tien bang chu trong Excel 10

Trên đây là bài viết hướng dẫn cách lập công thức số tiền bằng chữ trong Excel thông qua việc tạo hàm đổi số thành chữ trong Excel với tên là SpellNumber. Đôi khi chúng ta cần bỏ ra chút thời gian và công sức để đổi lại hiệu suất làm việc được nâng cao và tốn ít thời gian hơn nếu như bạn đang phải thao tác trong một tệp Excel với dữ liệu lớn.

Nếu thấy bài viết lập công thức số tiền bằng chữ trong Excel này hữu ích hãy để lại Like & Share cũng như bình luận ở phần bên dưới nếu có bất kỳ thắc mắc cần giải đáp nào khác. Bạn đọc có thể theo dõi thường xuyên các bài viết hữu ích khác của Phanmemgoc.vn được đăng tải đều đặn trên trang.