跳到主要内容
 

如何在Excel中拼出数字或将数字转换为英语单词?

作者:晓阳 最后修改时间:2020-09-11

假设您有很多价格金额数字,现在您需要将其转换或拼写为文本字符串。 例如,转换 $123.55 到英语单词 一百二十三美元和五十五美分。 在Excel中,没有有效的工具来解决此问题,而是使用冗长而复杂的VBA代码。 在本文中,我将向您介绍一些处理它的方法。

用VBA代码拼出数字或将数字转换为英文单词

使用 Kutools for Excel 将数字拼写或转换为英语单词


用VBA代码拼出数字或将数字转换为英文单词

下面的VBA长代码可以帮助您将数字拼写为文本字符串。 进行如下操作:

1。 按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。

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(A1),请参见屏幕截图:

4。 然后按 输入 键,然后选择单元格B2,然后根据需要将填充手柄拖到包含此公式的范围内。 并且所有货币编号均已拼写为英文单词。 看截图:

备注:由于它们是公式,因此当您需要复制并粘贴它们时,请粘贴为值。


使用 Kutools for Excel 将数字拼写或转换为英语单词

也许上面的长代码会让您生气,请不要担心,在这里我可以为您提供一种简单快速的解决方法。 随着 Kutools for Excel小写金额转大写 功能,您可以快速方便地将数字转换为文本字符串。

Kutools for Excel-包括300多个用于Excel的便捷工具。 全功能30天免费试用,无需信用卡! 立即行动吧!

1。 选择要拼写的范围号,然后单击 库工具 > 内容 > 小写金额转大写.
doc kutools编号为单词1

2。 在弹出的对话框中,选择 英语 来自 语言。 您可以从右侧预览结果 预览 窗格。 看截图:
doc kutools编号为单词2

3。 然后点击 Ok or 申请。 并且所有价格金额数字都已转换为原始范围内的文本字符串。
doc kutools编号为单词3

备注:如果您只想将数字转换为英文单词(而非货币),请检查 不转换为货币 复选框。
doc kutools编号为单词3 doc kutools编号为单词3

这个奇妙的功能 小写金额转大写 可以轻松地将货币数字转换为英语或中文的货币文本,例如将32.01转换为“ XNUMX美元和XNUMX美分”或“叁拾贰元零壹分”。 免费试用!

演示: 将货币数字拼写为英文单词

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!