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