Excel数字秒变大写,财务不再头大!【实用教程】
哎,你说这Excel,用起来是真方便,但也真让人头疼。尤其是财务的朋友们,天天跟数字打交道,报销单、发票,各种金额,一不小心就出错。就说这数字转大写吧,要是手动输入,那得费多大劲儿啊,而且还容易输错!今天我就来跟大家聊聊Excel里怎么把数字变成大写,保证你以后告别手动输入,效率蹭蹭往上涨!
首先,咱们得知道,Excel本身并没有直接转换数字为人民币大写的功能,但这难不倒咱们!毕竟,高手在民间,办法总是有的。最常用的方法就是自定义函数。
啥是自定义函数?简单来说,就是自己写一段代码,让Excel拥有它原本没有的功能。听起来好像很难?别怕,其实没那么复杂。
打开你的Excel,按下Alt + F11
,会弹出一个VBA编辑器窗口。别慌,这东西长得吓人,用起来其实很简单。
在VBA编辑器里,点击“插入” -> “模块”。然后,把下面这段代码复制粘贴进去:
“`vba
Function DX(Num As Double) As String
Dim RMB(1 To 13) As String
Dim CN(1 To 10) As String
Dim i As Integer, j As Integer
Dim Pos As Integer
Dim temp As String
RMB(1) = "分"
RMB(2) = "角"
RMB(3) = "元"
RMB(4) = "拾"
RMB(5) = "佰"
RMB(6) = "仟"
RMB(7) = "万"
RMB(8) = "拾"
RMB(9) = "佰"
RMB(10) = "仟"
RMB(11) = "亿"
RMB(12) = "拾"
RMB(13) = "佰"
CN(1) = "零"
CN(2) = "壹"
CN(3) = "贰"
CN(4) = "叁"
CN(5) = "肆"
CN(6) = "伍"
CN(7) = "陆"
CN(8) = "柒"
CN(9) = "捌"
CN(10) = "玖"
temp = Trim(Str(Round(Num * 100)))
Pos = Len(temp)
If Pos = 0 Then
DX = "零元"
Exit Function
End If
For i = 1 To Pos
j = Val(Mid(temp, i, 1)) + 1
DX = DX & CN(j) & RMB(Pos - i + 1)
Next i
DX = Replace(DX, "零角", "零")
DX = Replace(DX, "零分", "")
DX = Replace(DX, "零元", "元")
DX = Replace(DX, "零万", "万")
DX = Replace(DX, "零亿", "亿")
DX = Replace(DX, "零零", "零")
Do While Left(DX, 1) = "零"
DX = Mid(DX, 2)
Loop
If Right(DX, 1) = "零" Then
DX = Left(DX, Len(DX) - 1)
End If
If Right(DX, 1) = "元" Then
DX = DX & "整"
End If
End Function
“`
复制完代码后,关闭VBA编辑器。
现在,回到你的Excel表格。在一个单元格里输入=DX(A1)
,这里的A1是你包含数字的单元格,然后回车。见证奇迹的时刻到了!单元格里就会自动显示出对应的大写金额啦!
是不是很简单?以后再也不用手动输入大写数字了,省时省力,还不容易出错。当然,这段代码可能不是最完美的,但它足够应付日常工作中的大部分情况。
记住,要灵活运用Excel,别让它成为你的负担,而是让它成为你的好帮手!快去试试吧,让你的工作效率翻一番!
发表回复