1第一种方法:通过函数嵌套实现 数字转人民币大写形式的公式是: =if(b1<0,"金额为负无效", (if(or(b1=0,b1=""),"(人民币)零元", if(b1<1,"(人民币)", text(int(b1),"[dbnum2](人民币)g/通用格式")&"元"))))& if( (int(b1*10)-int(b1)*10)=0, if(int(b1*100)-int(b1*10)*10=0,"","零"), (text(int(b1*10)-int(b1)*10,"[dbnum2]")&"角")) &if( (int(b1*100)-int(b1*10)*10)=0, "整", text((int(b1*100)-int(b1*10)*10),"[dbnum2]")&"分") 数字转人民币大写形式的公式是: ="大写金额:"&if(trim(b1)="","",if(b1=0,"","人民币"&if(b1<0,"负",)&if(int(b1),text(int(abs(b1)),"[dbnum2]")&"元",)&if(int(abs(b1)*10)-int(abs(b1))*10,text(int(abs(b1)*10)-int(abs(b1))*10,"[dbnum2]")&"角",if(int(abs(b1))=abs(b1),,if(abs(b1)<0.1,,"零")))&if(round(abs(b1)*100-int(abs(b1)*10)*10,),text(round(abs(b1)*100-int(abs(b1)*10)*10,),"[dbnum2]")&"分","整")))
2第二种方法:通过宏vba自定义函数实现第一步:按下alt+f11组合键,或者是单击工具——宏——v**ual basic编辑器,进入v**ual basic编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。function n2rmb(m) y = int(round(100 * abs(m)) / 100) j = round(100 * abs(m) + 0.00001) - y * 100 f = (j / 10 - int(j / 10)) * 10 a = iif(y < 1, "", application.text(y, "[dbnum2]") & "元") b = iif(j > 9.5, application.text(int(j / 10), "[dbnum2]") & "角", iif(y < 1, "", iif(f > 1, "零", ""))) c = iif(f < 1, "整", application.text(round(f, 0), "[dbnum2]") & "分") n2rmb = iif(abs(m) < 0.005, "", iif(m < 0, "负" & a & b & c, a & b & c)) end function 第二步:返回excel操作界面,在b1单元格输入:= n2rmb (a1),就可以将a1单元格的数字转为人民币大写,然后向下复制公式即可将全部的数字转为人民币大写。 end 20210311