B1 输入公式
=IF(A1,TEXT(INT(A1),"[dbnum2]G/通用格式;[dbnum2]负G/通用格式;")&"元"&IF(INT(A1*10)-INT(A1)*10=0,IF(INT(A1)*(INT(A1*100)-INT(A1*10)*10)=0,"","零"),TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角")&IF((INT(A1*100)-INT(A1*10)*10)=0,"整",TEXT((INT(A1*100)-INT(A1*10)*10),"[dbnum2]")&"分"),"")
这样A1输入数字,B1 直接显示 大写金额
如上图所示,设置一下单元格格式就能解决您的问题。
打开Excel表格,选中小写金额“单元格”,按鼠标右键弹出菜单,选择“设置单元格格式”。
将小写金额用Excel自动转换为大写金额
此时弹出“设置单元格格式”栏,在“数组”栏内的分类中选择“特殊”,类型选为“中文大写数字”,再按“确定”即可。
将小写金额用Excel自动转换为大写金额
之前框选的小写金额变成了大写金额。
用设置的方法,可以得到数字的大写形式,但不能得到财务金额的形式,要得到财务金额的方式,需要一个自定义函数
将下面的自定义函数复制到你的excel模块中
Public Function renminbi(Amountin)
renminbi = Replace(Application.Text(Round(Amountin + 0.00000001, 2), "[DBnum2]"), ".", "元")
renminbi = IIf(Left(Right(renminbi, 3), 1) = "元", Left(renminbi, Len(renminbi) - 1) & "角" & Right(renminbi, 1) & "分", IIf(Left(Right(renminbi, 2), 1) = "元", renminbi & "角整", IIf(renminbi = "零", "", renminbi & "元整")))
renminbi = Replace(Replace(Replace(Replace(renminbi, "零元零角", ""), "零元", ""), "零角", "零"), "-", "负")
End Function
你就可以像正常使用函数一样,用=renminbi(数字)的方法得到金额的大写了
这个可以用函数公式做到,假如你的小写金额在A1单元格,
1
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1,2),TEXT(A1,";负")&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1,2),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"万",IF(AND(MOD(ABS(A1%),1000)<100,MOD(ABS(A1%),1000)>=10),"万零","万")),"零分","整")
当然上例只是众多函数处理方法中的其中一个,可以在一张空表的A1单元格输入任意数值,把如上公式复制到B1单元格,即可看到效果。