在EXCEL里将数字金额自动转为中文大写,可以利用EXCEL的函数功能来实现,以下蓝色部分为全部公式代码(在任一单元格内输入):
=IF(A22<0,"金额为负无效",IF(AND((INT(A22*10)-INT(A22)*10)=0,(INT(A22*100)-INT(A22*10)*10)=0),TEXT(INT(A22),"[dbnum2]")&"元整",IF((INT(A22*100)-INT(A22*10)*10)=0,TEXT(INT(A22),"[dbnum2]")&"元"&TEXT(INT(A22*10)-INT(A22)*10,"[dbnum2]")&"角整",TEXT(INT(A22),"[dbnum2]")&"元"&TEXT(INT(A22*10)-INT(A22)*10,"[dbnum2]")&"角"&TEXT(IF((INT(A22*1000)-INT(A22*100)*10)>=5,(INT(A22*100)-INT(A22*10)*10)+1,INT(A22*100)-INT(A22*10)*10),"[dbnum2]")&"分整")))
以下蓝色为实际的转换效果(实际使用时请将上述公式中的“A22”替换为待转换的单元格):
¥103.55 | 壹佰零叁元伍角伍分整 |
注意:此转换方法最多对2位小数有效;已考虑了厘的四舍五入。
语法说明:如果角和分都等于0,则直接将整数部分转换为中文大写作为最终值;如果分等于0,则将整数和角转换为中文大写作为最终值;否则,则将整数和角和分都转换为中文大写作为最终值(转换分时必须考虑厘的四舍五入)。
补充:以上是一种转换方法,可在此基础上适当修改增加某些功能。当然还有不少其他方法,有兴趣者可与我讨论。
用户777633 2009-10-14 16:18
用户750483 2009-9-2 10:21