Excel中如何在一单元格随意输入一组小写金额,在另一个单元格会自动显示其大写金额

例如A1单元格中输入531,在B3单元格可自动生成531的大写:大写金额伍佰叁拾壹元正,B3中的大写金额和正这个字不会变,但是数值会随着A1而改变,如A1输入700,那么B3就会自动变成:大写金额柒佰元正

望高手赐教,真的非常感谢!

下面的公式可以实现:
="大写金额:"&=IF(ROUND(A1,2)<0,"无效数值",IF(ROUND(A1,2)=0,"零",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分")))
说明:
1、用小写数字所在的单元格替换公式中的A1
2、如果大写金额后面不需要冒号,或者需要英文状态的冒号,自己修改公式中的冒号即可
3、如果金额中有分,按照书写习惯不需要最后的整字,因此,除保留到分的数字外全部留整。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-25
说实话,这是EXCEL没有WPS做的符合国人的一个功能。WPS里面有一个直接转换的功能十分方便!但EXCEL就只能通过函数来实现了。

函数代码:(A1为待转换单元格)

=IF(ROUND(A1,2)<0,"无效数值",IF(ROUND(A1,2)=0,"零",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分")))
第2个回答  2008-10-25
B3=IF(A1<0.005,"",IF(A1<0,"负",)&IF(INT(A1),TEXT(INT(A1),"[dbnum2]")&"元",)&IF(INT(A1*10)-INT(A1)*10,TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角",IF(INT(A1)=A1,,IF(A1<0.1,,"零")))&IF(ROUND((A1)*100-INT(A1*10)*10,),TEXT(ROUND(A1*100-INT(A1*10)*10,),"[dbnum2]")&"分","整"))

其中A1为数字所在单元格
第3个回答  2008-10-25
没有,还不如自己设置
第4个回答  2012-08-23
各位朋友呀 那如果是前面比如32元怎么链接的呀,链接成大写的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网