以下是引用山菊花在2008-8-21 11:39:08的发言:首先感谢楼的的分享。 测试过程中发现,公式中的RMB()函数,在省略第2个参数时,受Windows设置有关: RMB()函数的使用与Windows设置有关 建议:不要省略参数2,以防止得到不正确的结果: =SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2),IF(A2>0,,"负")&TEXT(INT(ABS(A2)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2,2),2),"[dbnum2]0角0分;;整"),),"零角",IF(A2^2<1,,"零")),"零分","整") 谢谢山版测试提醒,为了遵循函数使用的严谨性,公式两处都得改(凡使用RMB函数之处都得更正). 目前最完整也最简短(并且用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,,"零")),"零分","整")
[此贴子已经被作者于2008-9-1 23:37:15编辑过] |