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

2024-11-10 19:09:52
推荐回答(5个)
回答(1):

下面的公式可以实现:
="大写金额:"&=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、如果金额中有分,按照书写习惯不需要最后的整字,因此,除保留到分的数字外全部留整。

回答(2):

说实话,这是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]")&"分")))

回答(3):

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为数字所在单元格

回答(4):

没有,还不如自己设置

回答(5):

各位朋友呀 那如果是前面比如32元怎么链接的呀,链接成大写的