如何在EXCEL表的单位格中把变数量变成金额,如12345.5元利用公式自动变成壹万贰仟叁佰肆拾伍元伍角整。

如何在EXCEL表的单位格中把变数量变成金额,如12345.5元利用公式自动变成壹万贰仟叁佰肆拾伍元伍角整。
经得知有如下公式能解决,但实在想不明白,请指教!(E4代表单元格)

=IF(ISNUMBER(E4),IF(TRUNC(E4)=0,IF(AND(MID(TEXT(TRUNC(E4,2),"0.00"),LEN(TEXT(TRUNC(E4,2),"0.00"))-1,1)="0",RIGHT(TEXT(TRUNC(E4,2),"0.00"),1)="0"),"零元",""),(IF(E4<0, "负",""))&TEXT(TRUNC(ABS(E4)),"[DBNUM2]")&"元")&(IF(MID(TEXT(TRUNC(ABS(E4),2),"0.00"),LEN(TEXT(TRUNC(ABS(E4),2),"0.00"))-1,1)="0",IF(OR(TRUNC(ABS(E4))=0,RIGHT(TEXT(TRUNC(ABS(E4),2),"0.00"),1)="0"),"","零"),TEXT(MID(ABS(E4),LEN(TEXT(TRUNC(ABS(E4),2),"0.00"))-1,1),"[DBNUM2]")&"角"))&(IF(RIGHT(TEXT(TRUNC(ABS(E4),2),"0.00"),1)="0","整",TEXT(RIGHT(TEXT(TRUNC(ABS(E4),2),"0.00"),1),"[DBNUM2]")&"分")),"不是有效金额,请重新输入!")&"。"

并且以上公式中ISNUMBER、AND 、[DBNUM2]、OR不知道表达的意思,以上问题请教,或提出更好更简单快捷的方法,谢谢!

第1个回答  2009-08-13
假设数字在a1,结果放b1,则
b1=TEXT(INT(A1),"[dbnum2]")&IF(INT(A1)=A1,"元整","元")&IF(INT(A1)=A1,"",IF(MID(A1,LEN(A1)-1,1)=".",TEXT(RIGHT(A1,1)*1,"[dbnum2]")&"角",IF(AND(MID(A1,LEN(A1)-3,1)=".",MID(A1,LEN(A1)-1,1)<>"0"),TEXT(--MID(A1,LEN(A1)-1,1),"[dbnum2]")&"角"&TEXT(--RIGHT(A1,1),"[dbnum2]")&" 分","零"&TEXT(--RIGHT(A1,1),"[dbnum2]")&"分")))
公式中TEXT(--RIGHT(A1,1),"[dbnum2]")表示取a1右边第一位,并转化为大写数字,[dbnum2]是大写数字的格式代码,--RIGHT(A1,1)是将右边第一位转化为数字(RIGHT(A1,1)的结果是文本),text函数则是将数字转化为指定格式的文本
第2个回答  2009-08-08
假设数据在A2单元格,则B2输入
=IF(A2="","",IF(A2<0,"负",)&IF(INT(A2),TEXT(INT(ABS(A2)),"[dbnum2]")&"元",)&IF(INT(ABS(A2)*10)-INT(ABS(A2))*10,TEXT(INT(ABS(A2)*10)-INT(ABS(A2))*10,"[dbnum2]")&"角",IF(INT(ABS(A2))=ABS(A2),,IF(ABS(A2)<0.1,,"零")))&IF(ROUND(ABS(A2)*100-INT(ABS(A2)*10)*10,),TEXT(ROUND(ABS(A2)*100-INT(ABS(A2)*10)*10,),"[dbnum2]")&"分","整"))本回答被提问者采纳
第3个回答  2009-08-08
要这么烦吗?下面这个很简单。
=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[>0][dbnum2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(A1),2),"元[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"元整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整") &"。"

ISNUMBER是判断是不是数字,是数字返加上TRUE,否则返回FALSE,AND 是所有参数为(真)TRUE,返回(真)TRUE,否则返回(假)FALSE,[DBNUM2]是人民币大写的特定格式,OR是所有参数有一个为真返回真,所有为假返回假.
第4个回答  2009-08-08
请看:
http://zhidao.baidu.com/question/106586506.html

ISNUMBER、AND 、OR 这些都是Excel中的函数,具体作用,你可以打开插入函数对话框,里面有说明的。 [DBNUM2]是数字转为人民币大写的格式。
第5个回答  2009-08-08
实际上就是EXEL函数:TEXT()的应用.

EXCEL中TEXT函数与日期函数详解:http://hi.baidu.com/dy111/blog/item/04e6139518b5a3017af480dc.html
相似回答