=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A2)),"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")
这条函数能完成大写金额生成
现在的问题是我要输入 ¥1234567.89
得出的大写金额是:壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分
(就是输入时是有个“¥”的问题)
求EXCEL大神帮忙
把你的公式改为
=SUBSTITUTE(SUBSTITUTE(IF(SUBSTITUTE(A2,"¥","")<0,"负","")&TEXT(TRUNC(ABS(ROUND(SUBSTITUTE(A2,"¥",""),2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(SUBSTITUTE(A2,"¥",""),2))),"",TEXT(RIGHT(TRUNC(ROUND(SUBSTITUTE(A2,"¥",""),2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(SUBSTITUTE(A2,"¥",""),"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(SUBSTITUTE(A2,"¥",""),2),3))=".",TEXT(RIGHT(ROUND(SUBSTITUTE(A2,"¥",""),2)),"[DBNum2]")&"分",IF(ROUND(SUBSTITUTE(A2,"¥",""),2)=0,"","整")),"零元零",""),"零元","零")
向下自动填充即可
¥是货币格式产生的符号,并不需要人为输入。如果人为输入会导致数据不是数值了,无法进行计算。
货币格式如下:
你说的很好,那有没有办法输入是 34234 (选择货币格式后会变成¥34,234.00) 能不能不要千分号和点 变成¥3423400
追答可以,货币格式一般是需要带这个的,如果你非要不带逗号,在自定义格式里删除它即可。
不带点不合适,数值都变了。
这样子还是达不到我要的效果。
我就是想要 输入 1234567.89 (显示:¥123456789)
在另一单元格得 出:壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分
数值变了,乘以100即可。转换时再除以100
你没理解我的意思, 我在A1单元格 只输入一次1234567.89
得出的结果是:A1单元格显示 : ¥123456789
A2单元格显示 : 壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分
你输入的数值是什么就是什么,如果输入的有小数,是不允许不显示小数点的。除非不显示小数部分。