别再愁了!EXCEL表格小写金额一键转换大写,这个公式真香!(含详细步骤)
说实话,以前做财务报表最头疼的就是把数字转换成大写金额,一个个手动输入,简直要崩溃!尤其是在月末、季末,眼睛都快看瞎了。相信很多跟我一样的小伙伴,都深受其害。直到我发现了Excel里的“金额小写转大写”公式,简直是救星降临!
这可不是什么高深莫测的黑科技,其实就是一个简单的自定义函数,但威力巨大!不用再对着计算器和键盘较劲,只需轻轻一点,大写金额立马呈现,效率提升了不止一个level!
那么,这个神奇的公式到底是什么呢?别急,我这就手把手教你,保证一看就会!
核心公式(VBA代码):
“`vba
Function DX(Num As Double) As String
Dim AA As String, BB As String, CC As String
Dim I As Integer
AA = “拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,万”
BB = “分,角,元,拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,万”
CC = “零,壹,贰,叁,肆,伍,陆,柒,捌,玖”
DX = “”
Num = Round(Abs(Num), 2)
If Num >= 1000000000000# Then
DX = “数值太大,无法转换!”
Exit Function
End If
StringNum = Trim(Str(Num * 100))
LengthNum = Len(StringNum)
For I = 1 To LengthNum
Digit = Mid(StringNum, I, 1)
Select Case Digit
Case “.”
DX = DX & “元”
Case Else
DX = DX & Mid(CC, Val(Digit) + 1, 1) & Mid(BB, LengthNum – I + 1, 1)
End Select
Next I
DX = Replace(DX, “零拾”, “零”)
DX = Replace(DX, “零佰”, “零”)
DX = Replace(DX, “零仟”, “零”)
DX = Replace(DX, “零万”, “万”)
DX = Replace(DX, “零元”, “元”)
DX = Replace(DX, “零亿”, “亿”)
DX = Replace(DX, “零零”, “零”)
DX = Replace(DX, “零零”, “零”)
DX = Replace(DX, “零角”, “零”)
DX = Replace(DX, “零分”, “整”) ‘这里改成整
DX = Replace(DX, “元整”, “元整”) ‘避免出现多余的”元整”
If Right(DX, 1) = “零” Then DX = Left(DX, Len(DX) – 1)
If Left(DX, 1) = “元” Then DX = Mid(DX, 2, Len(DX) – 1)
If DX = "" Then DX = "零元整" '处理0值
DX = IIf(Num < 0, "负" & DX, DX) '处理负数
End Function
“`
操作步骤:
- 打开Excel: 新建或者打开你需要转换金额的Excel表格。
- 进入VBA编辑器: 按下
Alt + F11
,打开VBA(Visual Basic for Applications)编辑器。 - 插入模块: 在VBA编辑器中,点击“插入” -> “模块”。
- 粘贴代码: 将上面的VBA代码复制到模块窗口中。
- 关闭VBA编辑器: 关闭VBA编辑器,回到Excel表格界面。
使用方法:
在Excel表格中,假设你需要转换的金额在A1单元格,那么在B1单元格输入公式=DX(A1)
,然后回车。
Duang!神奇的事情发生了,B1单元格就自动显示A1单元格对应的大写金额了!简直不要太方便!
注意事项:
- 确保你的Excel启用了宏功能。如果提示“宏已被禁用”,请按照提示启用宏。
- 如果金额为负数,转换后会显示“负”字。
- 如果金额包含小数,公式会自动处理。
- 如果数值太大,超过万亿,会显示“数值太大,无法转换!”
我的一些小技巧:
- 可以把这个公式应用到整个表格的金额列,批量转换,省时省力。
- 如果你经常需要用到这个功能,可以把包含这个公式的Excel表格保存为模板,下次直接使用,更加方便。
- 可以根据自己的需求修改VBA代码,例如修改货币单位,或者增加一些自定义的功能。
这个公式真的帮了我大忙,再也不用为了转换大写金额而烦恼了!希望这个分享也能帮到你,让你的工作效率up up up!快去试试吧!真的,谁用谁知道!
发表回复