在excel中,如何使用函数将数字人民币转换成大写?
通过设置单元格式可以使RMB数字转换成大写格式,如123.56=壹佰贰拾叁元伍角陆分;但我要使用函数编写。...
通过设置单元格式可以使RMB数字转换成大写格式, 如123.56=壹佰贰拾叁元伍角陆分;
但我要使用函数编写。 展开
但我要使用函数编写。 展开
8个回答
展开全部
可以用这个函数,相对比较简单一些:
=IF(A1<=0,,TEXT(INT(A1),"[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是数字的情况下,同理,数字在哪个单元格,就直接把A1进行替换就可以了。
=IF(A1<=0,,TEXT(INT(A1),"[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是数字的情况下,同理,数字在哪个单元格,就直接把A1进行替换就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假如数据在A1单元格
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),IF(A1<0,"负",)&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),IF(A1<0,"负",)&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")
更多追问追答
追问
好长呀,可以解释一下吗?还有没有更简单一点的方法
追答
没有简单的,这是最简单的了。解释起来比较麻烦,你先了解一下SUBSTITUTE、INT、RIGHT、TEXT等函数的用法。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设A1是你输入的数字金额,在旁边加一列如下公式:
=SUBSTITUTE(SUBSTITUTE(IF(A1<0,"负","")&TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"圆"&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBNum2]")&"分",IF(ROUND(A1,2)=0,"","整")),"零圆零",""),"零圆","")
=SUBSTITUTE(SUBSTITUTE(IF(A1<0,"负","")&TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"圆"&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBNum2]")&"分",IF(ROUND(A1,2)=0,"","整")),"零圆零",""),"零圆","")
追问
我想知道这么一大串的公式解释
追答
SUBSTITUTE是文本替换函数,意义不用详细说明吧。
DBNum2是格式函数,数字转换为中文大写
公式处理过程是这样的:
如果是负数,先写一个“负”字,然后再用绝对值转换为中文大写;
对于数值转换,先转换小数点前面的,即元数;
然后再处理是否有小数位,如果没有则是加“整”
如果有,再处理角和分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单方便操作,无需用到函数
选中单元格,右击——》设置单元格式——》特殊——》中文大写数字
选中单元格,右击——》设置单元格式——》特殊——》中文大写数字
追问
我知道,可是我要的是函数!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询