目前最完整也最简短,但拾万以上不加零(并且用TEXT(A1,";负")还能处理文本型数字)的人民币金额大写 (因RMB(A1)的省略写法还是有缺陷)有如下两个公式:
172个字符
=SUBSTITUTE(IF(-RMB(A1,2),TEXT(A1,";负")&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1,2),2),"[>9][dbnum2]0角0分;"&IF(A1^2<1,,0)&"[>][dbnum2]0分;整"),),"零分","整")
171个字符
=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,,"零")),"零分","整")
完全能够完美解决,只是公式加到251个字符了:
=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),"万零","万")),"零分","整")
如:1000103005.26
转换为:
壹拾亿零壹拾万零叁仟零伍元贰角陆分 |