表格中怎么把数字转换成英文大写的方法(数字转换英文大写金额怎么设置公式)

前些天有人问过转中文大写的,转英文金额有点复杂,我们一起尝试下,先看动态效果图:

转英文金额相对于转中文金额难度要大,得自定义一个函数

1. 我们首先新建一个宏函数“数字转英文”,左下角右键“查看代码”,在弹出的窗口中插入一个新模板,将代码粘贴上去。

2. 之后在单元格内插入函数'fx'----'用户定义'-----'数字转英文'-----'确定'!

3. 最后在需要转换英文的单元格填充好公式就可以了!

具体代码如下:

Function 数字转英文(ByVal pNumber)

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

End Select

Select Case Cents

Case ''

Cents = ' and No Cents'

Case 'One'

Cents = ' and One Cent'

Case Else

Cents = ' and ' & 'Cents ' & Cents

End Select

数字转英文 = 'US Dollar ' & 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

(0)

相关推荐

  • Excel2016中将阿拉伯数字转换成中文大写的方法

    Excel中的NumberString函数,可以实现小写到大写的转化,有三个参数可以选择. 但不支持有小数的数字的.接下来给大家说一下这个函数的具体用法. 操作方法 01 首先我们在第一个单元格输入1 ...

  • Excel中把普通数字自动转换成中文大写数字的方法(图文教程)

    平时工作中输入金额时常常需要转成中文大写数字,但输入起来比较麻烦,那么是否可以将数字直接转换成中文大写呢?本教程中就为大家介绍在excel中如何将数字自动转换成中文大写数字。 第一步:打开Excel工 ...

  • Excel中数字如何自动转换成中文大写数字

    平时工作中输入金额时常常需要转成中文大写数字,但输入起来比较麻烦,那么是否可以将数字直接转换成中文大写呢?本教程中就为大家介绍在excel中如何将数字自动转换成中文大写数字。 第一步:打开Excel工 ...

  • 表格里的数字怎么转换成货币大写(怎么把表格里的数字变成大写人民币)

    有时在做工作表时需要把数字转成人民币大写,怎样在EXCEL中数字转人民币大写呢?1打开Excel,在单元格输入数字(如下图所示)2鼠标右键,选择"设置单元格格式"3在弹出的对话框中 ...

  • excel 函数将阿拉伯数字转换成中文大写数字

    在excel日常工作中.有时候需要把阿拉伯数字转换成中文大写数字,excel 中函数将阿拉伯数字转换成中文大写数字 含义 01 EXCEL中隐藏了一个将小写数字转换成中文大写数字的函数NUMBERST ...

  • Excel将小写数字转换成中文大写

    在Excel的日常工作使用中,有时候需要把阿拉伯数字转换成中文大写数字.下面小编就来告诉大家Excel将小写数字转换成中文大写. 操作方法 01 打开"Excel表格",需要将A列 ...

  • 用excel怎么对表格中的多行合并成一行

    用excel怎么对表格中的多行合并成一行呢? 如图所示的效果 一.两行合并成一行 01 建立一个空excel表,输入两行数据,如图所示,只要在合并位置的单元格,输入 =A2&A3 即可 二.三 ...

  • Word2010中怎样将阿拉伯数字转换成人民币大写

    我们在使用Word2010处理文字时,有时需要将阿拉伯数字转换成人民币大写数字,本篇经验就为大家介绍一下转换方法. 步骤/方法 01 打开Word2010文档,选中阿拉伯数字(数值应在0-999999 ...

  • excel中批量将经纬度度分秒转换成十进制小数点的方法介绍

    如何利用excel将经纬度度分秒转换成小数点?利用excel的函数编辑功能可以很方便的批量将经纬度转换成十进制的小数点格式,接下来小编就给大家说说如何将经纬度度分秒转换成十进制,以及如何将十进制的经纬 ...

  • PDF转换成Word文档方法总结

    PDF转换成word文档方法总结 1、考虑到在生活工作中经常有朋友遇到将各种来源的pdf文档转化为word或txt的需求; 2、曾经有朋友发表过类似的软件,究其软件功能较简单,往往不能满足不同朋友的需 ...