如何在 Excel 中將數字拼寫或轉換為英文單詞?
在 Excel 中將數字轉換為其英文單詞等價形式是一項非常有價值的技能,特別是在財務報告、發票或支票製作時。雖然 Excel 沒有內建的函數來實現此功能,但有多種方法可以達成。本文將引導您了解在 Excel 中將數字轉換為單詞的最有效方式,並提供一些優化技巧。
使用 VBA 程式碼將數字拼寫或轉換為英文單詞
以下長段的 VBA 程式碼可幫助您將數字拼寫為文字字串。請按照以下步驟操作:
1. 按住「ALT + F11」鍵,打開「Microsoft Visual Basic for Applications」視窗。
2. 點擊「插入」>「模組」,並將以下巨集貼到模組視窗中。
VBA:在 Excel 中將貨幣數字拼寫為英文單詞
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars & " Dollars"
End Select
Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " and " & Cents & " Cents"
End Select
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
3. 然後保存程式碼,返回工作表,在相鄰的單元格 B2 中輸入公式 =SpellNumberToEnglish(A2),見截圖:
4. 然後按下 Enter 鍵,選擇單元格 C2,然後將填滿控制點拖動到包含該公式的範圍,根據需要進行調整。所有貨幣數字都已拼寫為英文單詞。見截圖:
使用 Kutools for Excel 將數字拼寫或轉換為英文單詞
通過使用 Kutools for Excel 簡化您的 Excel 任務並提高生產力。其強大的數字轉換為單詞功能提供了超過 40 種貨幣轉換選項,讓您可以輕鬆地將數字轉換為美元、人民幣或其他任何貨幣的文字表示,只需幾次點擊即可完成。
1. 選擇要拼寫的數字範圍,然後點擊「Kutools」>「文字」>「數字轉單詞」。
2. 在彈出的對話框中,從「語言」中選擇「英文」。您可以在右側的「預覽」窗格中預覽結果。見截圖:
3. 然後點擊「確定」或「應用」。所有價格數字都已在原始範圍內被轉換為文字字串。
備註:如果您只想將數字轉換為英文單詞(非貨幣),請勾選「不轉換為貨幣」複選框。
通過遵循本指南中的步驟和優化建議,您可以高效地將數字轉換為單詞,並簡化您的工作流程。無論您是準備財務報告還是創建發票,掌握這項技能將節省您的時間和精力。如果您對探索更多 Excel 技巧感興趣,我們的網站提供了數千個教程。
最佳 Office 辦公效率工具
🤖 | Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入... | |
高級 LOOKUP:多條件查找|多值查找|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ... | |
列管理器: 添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)... | |
前15 大工具集:12 款文本工具(添加文本,刪除特定字符,...)|50+ 種圖表 類型(甘特圖,...)|40+ 實用 公式(基於生日計算年齡,...)|19 款插入工具(插入QR码,按路徑插入圖片,...)|12 款轉換工具(金額轉大寫,匯率轉換,...)|7 款合併和分割工具(高級合併行,分割儲存格,...)| ...以及更多 |
利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...
Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆
- 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
- 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
- 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!