網(wǎng)上能查到許多將小寫金額轉(zhuǎn)變?yōu)橹形拇髮懡痤~的公式,但我發(fā)現(xiàn)都多少存在一些不完美。一是轉(zhuǎn)換后的中文大寫金額不符合規(guī)范,如123元,顯示的是“壹佰貳拾叁元零角零分,0.86元,顯示的是“零元捌角陸分”等;二是有些公式對(duì)金額為負(fù)數(shù)的并且含小數(shù)點(diǎn)的,因計(jì)算的進(jìn)位關(guān)系,會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤,如-99.15,顯示的是“-壹佰元捌角伍分”等。三是如果小數(shù)點(diǎn)后的位數(shù)超過2位,涉及到四舍五入的數(shù)字也會(huì)發(fā)生轉(zhuǎn)換錯(cuò)誤。
經(jīng)過認(rèn)真的分析,寫出了一個(gè)比較完美的excel小寫金額轉(zhuǎn)變?yōu)橹形拇髮懡痤~的公式,目前暫未發(fā)現(xiàn)轉(zhuǎn)換結(jié)果存在不妥的現(xiàn)象,請(qǐng)老鐵們驗(yàn)證并提出寶貴意見
假設(shè)小寫金額數(shù)字在A2,那么在B2輸入公式:=IF(A2=0,'零',IF(ROUND(ABS(A2),2)<1,'',TEXT(INT(ROUND(ABS(A2),2)),'[dbnum2]')&'元')&IF(INT(ROUND(ABS(A2),2)*10)-INT(ROUND(ABS(A2),2))*10=0,IF(INT(ROUND(ABS(A2),2))*(INT(ROUND(ABS(A2),2)*100)-INT(ROUND(ABS(A2),2)*10)*10)=0,'','零'),TEXT(INT(ROUND(ABS(A2),2)*10)-INT(ROUND(ABS(A2),2))*10,'[dbnum2]')&'角')&IF((INT(ROUND(ABS(A2),2)*100)-INT(ROUND(ABS(A2),2)*10)*10)=0,'整',TEXT((INT(ROUND(ABS(A2),2)*100)-INT(ROUND(ABS(A2),2)*10)*10),'[dbnum2]')&'分'))
.
2、向下復(fù)制公式,輸入不同類型的數(shù)字測(cè)試,沒毛病。
這個(gè)公式寫完一遍,絕對(duì)就不想寫第二遍了,頭暈!覺得還能用就直接粘貼走,修改一下小寫金額所在的單元格位置就行了。最后發(fā)現(xiàn)了一個(gè)問題,對(duì)于空單元格,大寫金額竟然也是“零”,算了,不改了,就這樣吧。
聯(lián)系客服