excel中人民币小写转大写的函数怎么写?
的有关信息介绍如下:我给你一个方法将此复制下来粘贴到Excel单元格内就可以了。 =IF(ROUND(A5,2)<0,"无效数值"亏旅,"人民币"&IF(ROUND(A5,2)=0,"零元",IF(ROUND(A5,2)<1,"",TEXT(INT(ROUND(A5,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10=0,IF(INT(ROUND(A5,2))*(INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,"整",TEXT((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10),"[dbnum2]")&"分"))) 还有以下方法:Excel将小写金额转换成人民币的大写金额 1、如何自定义: 打开EXCEL,新建一个文件Book1,按ALT+F11进入VBA编程环境,选中这个BOOK1文件,插入模块,将下面的源代码复制到右边的模块代码区内,然后将此BOOK1保存,保存类型一定选加载宏,文件名嘛可自由发挥,我就填"中文大写",确定OK!然后回到EXCEL,工具--加载宏-找到"中文大写",打勾确定,我们这个自定义函数就可以象内置函数样使用了!--->=rmbdx(123456.78),爽吧! 2、例子: A、直接在函数内输入数值的(请注意参销戚凳数的用法,默认用法是不用输入) =rmbdx(123456.78)--->壹拾贰万叁仟肆佰伍拾陆元柒角捌分 =rmbdx(123456.78,0)--->壹拾贰万叁仟肆佰伍拾陆元柒角捌分 =rmbdx(123456.78,1)--->壹拾贰万叁仟肆佰伍拾陆元柒角捌分 =rmbdx(56.78)--->伍拾陆元柒角捌分 =rmbdx(0.78)--->柒角捌分 =rmbdx(0.784)--->柒角捌分 =rmbdx(0.785,1)--->柒角玖分 =rmbdx(0.02,1)--->贰分仔梁 B、引用某单元格数值进行转换的 假设你的D3单元格的数据(也可以是求和或其它公式得出的结果)需要转换,大写格式放在D4单元格,则D4输入公式:=rmbdx(d3)即可 C、其它形如=rmbdx(SUM(C4:C6))的也可以,用法象内置函数,请灵活使用 3、源代码: Functionrmbdx(value,Optionalm=0) ’中文大写源代码,By对面男孩、redwin ’支持负数,支持小数点后的第三位数是否进行四舍五入处理 ’默认参数为0,即不将小数点后的第三位数进行四舍五入处理 ’2002-10-11--2002-10-13 OnErrorResumeNext Dima DimjfAsString’定义角分位 Dimj’定义角位 Dimf’定义分位 Ifvalue<0Then’处理正负数的情况 a="负" Else a="" EndIf IfIsNumeric(value)=FalseThen’判断待转换的value是否为数值 rmbdx="需转换的内容非数值" Else value=Abs(CCur(value)) ’当参数m不输入(默认为0)或为0时,小数点后的第三数不进行四舍五入处理 ’当参数m为1或其它数值时,小数点后的第三数进行四舍五入处理 Ifm=0Then jf=Fix((value-Fix(value))*100) value=Fix(value)+jf/100 Else’厘位进行四舍五入实践很少用到,但还是要照顾到 value=Application.WorksheetFunction.Round(value,2)’-->这句是关键!只用round有bug jf=Round((value-Fix(value))*100,0) EndIf Ifvalue=0Orvalue=""Then’当待转换数值为0或空时,不进行转换 rmbdx="" Else strrmbdx=Application.WorksheetFunction.Text(Int(value),"[DBNum2]")&"元"’转换整数位 IfInt(value)=0Then strrmbdx="" EndIf IfInt(value)<>valueThen Ifjf>9Then’判断小数位 j=Left(jf,1) f=Right(jf,1) Else j=0 f=jf EndIf Ifj<>0Andf<>0Then’角分位都有时 jf=Application.WorksheetFunction.Text(j,"[DBNum2]")&"角"_ &Application.WorksheetFunction.Text(f,"[DBNum2]")&"分" Else ’处理出现零几分的情况 IfInt(value)=0Andj=0Andf<>0Then jf=Application.WorksheetFunction.Text(f,"[DBNum2]")&"分" Else Ifj=0Then’有分无角时 jf="零"&Application.WorksheetFunction.Text(f,"[DBNum2]")&"分" Else Iff=0Then’有角无分时 jf=Application.WorksheetFunction.Text(j,"[DBNum2]")&"角整" EndIf EndIf EndIf EndIf strrmbdx=strrmbdx&jf’组装 Else strrmbdx=strrmbdx&"整" EndIf rmbdx=a&strrmbdx’最后成型了,各位MM满意了吧 EndIf EndIf EndFunction