網(wǎng)上能查到許多將小寫金額轉(zhuǎn)變?yōu)橹形拇髮懡痤~的公式,但我發(fā)現(xiàn)都多少存在一些不完美。一是轉(zhuǎn)換后的中文大寫金額不符合規(guī)范,如123元,顯示的是“壹佰貳拾叁元零角零分,0.86元,顯示的是“零元捌角陸分”等;二是有些公式對金額為負(fù)數(shù)的并且含小數(shù)點的,因計算的進(jìn)位關(guān)系,會出現(xiàn)轉(zhuǎn)換錯誤,如-99.15,顯示的是“-壹佰元捌角伍分”等。三是如果小數(shù)點后的位數(shù)超過2位,涉及到四舍五入的數(shù)字也會發(fā)生轉(zhuǎn)換錯誤。
經(jīng)過認(rèn)真的分析,寫出了一個比較完美的excel小寫金額轉(zhuǎn)變?yōu)橹形拇髮懡痤~的公式,目前暫未發(fā)現(xiàn)轉(zhuǎn)換結(jié)果存在不妥的現(xià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ù)字測試,沒毛病。
這個公式寫完一遍,絕對就不想寫第二遍了,頭暈!覺得還能用就直接粘貼走,修改一下小寫金額所在的單元格位置就行了。最后發(fā)現(xiàn)了一個問題,對于空單元格,大寫金額竟然也是“零”,算了,不改了,就這樣吧。
聯(lián)系客服