卡饭网 > excel > 正文

在Excel函数公式里面怎么把一个数字变成大写的

来源:本站整理 作者:梦在深巷 时间:2016-08-09 21:20:16

方法一:
Function 大写金额(N)
'数字转为大写金额,仅一个参数。
Application.Volatile
大写金额 = Replace(Application.Text(Round(N + 0.00000001, 2), "[DBnum2]"), ".", "元")
大写金额 = IIf(Left(Right(大写金额, 3), 1) = "元", Left(大写金额, Len(大写金额) - 1) & "角" & Right(大写金额, 1) & "分", IIf(Left(Right(大写金额, 2), 1) = "元", 大写金额 & "角整", IIf(大写金额 = "零", "", 大写金额 & "元整")))
大写金额 = Replace(Replace(Replace(Replace(大写金额, "零元零角", ""), "零元", ""), "零角", "零"), "-", "负")
End Function

将上面的自定义函数作为加载宏加载到你的EXCEL程序中,再插入函数“大写金额(N)”即可
方法二:
B1输入=IF(ROUND(A1,2)<0,"无效数值",IF(ROUND(A1,2)=0,"零",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分")))

相关推荐