資源描述:
《Excel金額小寫(xiě)改大寫(xiě)公式.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、Excel金額小寫(xiě)改大寫(xiě)公式 本文主要介紹了使用公式將數(shù)字金額轉(zhuǎn)換為人民幣大寫(xiě)的方法。 公式一 SUBSTITUTE(SUBSTITUTE(IF(A1《0,“負(fù)”,“”)&TEXT(TRUNC(ABS(ROUND(A1,2))),“[DBNum2]”)&“元”&IF(ISERR(FIND(“?!保琑OUND(A1,2))),“”,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),“[DBNum2]”))&IF(ISERR(FIND(“.0”,TEXT(A1,“”))),“角”
2、,“”)&IF(LEFT(RIGHT(ROUND(A1,2),3))=“?!?,TEXT(RIGHT(ROUND(A1,2)),“[DBNum2]”)&“分”,IF(ROUND(A1,2)=0,“”,“整”)),“零元零”,“”),“零元”,“”) 公式二 CONCATENATE(IF(A1《0,“負(fù)”,“”),TEXT(IF(TRUNC(A1)=0,“”,TRUNC(ABS(A1))),“[DBNum2]”),IF(INT(TRUNC(A1))=0,“”,“元”),TEXT(IF(OR(ABS(
3、A1)《,TRUNC(A1)=A1),“”,RIGHT(TRUNC(A1*10),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*10),1)=“0”,“”,“角”),TEXT(IF(RIGHT(TRUNC(A1*100),1)=“0”,“”,RIGHT(TRUNC(A1*100),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*100),1)=“0”,“”,“分”)) 公式三 IF(ROUND(A1,2)=0,“”,IF(ROUND(ABS(A1),2)
4、》=1,TEXT(INT(ROUND(ABS(A1),2)),“[DBNum2]”)&“元”,“”)&IF(RIGHT(TEXT(A1,“.00”),2)*1=0,“整”,IF(RIGHT(TEXT(A1,“.00”),4)*1》=1,IF(RIGHT(TEXT(A1,“.00”),2)*1》9,“”,“零”),IF(ROUND(ABS(A1),2)》=1,“零”,“”))&IF(RIGHT(TEXT(A1,“.00”),2)*1》9,TEXT(LEFT(RIGHT(TEXT(A1,“.00
5、”),2)),“[DBNum2]”)&“角”,“”)&IF(RIGHT(TEXT(A1,“.00”))*1》0,TEXT(RIGHT(TEXT(A1,“.00”)),“[DBNum2]”)&“分”,“整”))) 我用不同的數(shù)值對(duì)這三個(gè)公式進(jìn)行了一番測(cè)試,都達(dá)到了我的要求,至少到目前為止還沒(méi)有發(fā)現(xiàn)上述公式存在著什么錯(cuò)誤。上述公式對(duì)負(fù)數(shù)的處理采取了不同的方法。公式一和公式二對(duì)負(fù)數(shù)是在其前部加上一個(gè)“負(fù)”字,而公式三則是按正數(shù)進(jìn)行處理。我比較推崇公式三的方式,不是還有條件格式可以設(shè)置嗎?若是負(fù)數(shù)就用條件
6、格式來(lái)變?yōu)榧t色?! ∥也粶?zhǔn)備在此對(duì)上述公式進(jìn)行分析解說(shuō)。撰寫(xiě)本文的目的是我也想自己來(lái)“組裝”一個(gè)所謂的通用公式。我只所以說(shuō)是“組裝”而不是叫什么“開(kāi)發(fā)”或者是“拼湊”,是因?yàn)镋XCEL的函數(shù)現(xiàn)成地?cái)[在了那里,使用時(shí)就是為了達(dá)到某種目的,按照其固有的規(guī)則,將其進(jìn)行有機(jī)的組合,可謂“組裝”。但是在這個(gè)過(guò)程中,也是要開(kāi)動(dòng)腦筋的,并非是隨隨便便“拼湊”就能成功的。本文的目的就是想將我在“組裝”公式時(shí)的思路展現(xiàn)出來(lái)。 若用程序設(shè)計(jì)語(yǔ)言(比如用C語(yǔ)言)來(lái)寫(xiě)一個(gè)人民幣數(shù)字金額轉(zhuǎn)大寫(xiě)金額會(huì)怎樣考慮呢?我想每一位數(shù)
7、字都要考慮到。但在EXCEL中,單元格格式中有一個(gè)“特殊”格式,里面就有將小寫(xiě)數(shù)字轉(zhuǎn)換為大寫(xiě)數(shù)字的格式。但要注意的是,這里轉(zhuǎn)換的是數(shù)字而不是金額。所以轉(zhuǎn)換出來(lái)后并不存在“元”、“角”、“分”、“整”等在大寫(xiě)金額中出現(xiàn)的字。但是,“元”只出現(xiàn)在整數(shù)部分的后面,而小數(shù)部分只有角分兩位。這樣只要利用EXCEL的“特殊”格式將數(shù)據(jù)分為整數(shù)部分、角位和分位三個(gè)部分來(lái)處理就行了。處理的順序是先整數(shù),再角位、再分位?! ∮捎谝秩齻€(gè)部分分別處理,然后根據(jù)情況分別與“元”,“角”,“分”及“整”相連接。連接的方式可
8、以使用CONCATENATE()函數(shù),如公式二,也可以使用連接符&。而用&來(lái)連接,公式結(jié)構(gòu)似乎會(huì)相對(duì)簡(jiǎn)單清晰一些,所以我選擇了用&來(lái)連接?! ‰m然對(duì)問(wèn)題進(jìn)行了分解,但需要考慮的細(xì)節(jié)相當(dāng)多?! ∪魡卧駷?或者空,輸出空,避免出現(xiàn)“零”、“零元”等字樣。對(duì)非數(shù)字字符不進(jìn)行處理,使用EXCEL自身的錯(cuò)誤提示。 對(duì)負(fù)數(shù)按正數(shù)處理,再用條件格式將其轉(zhuǎn)換為紅色,不擬采用“負(fù)XXXXXX”的形式。