Excel 內建 [DBNum2] 格式可轉中文大寫數字,但小數部分僅顯示「零玖圓」格式,不符財務「元/角/分」規範(如 6050.09 應為「陸仟零伍拾元零玖分」)。
假設 B1 為四捨五入至角分的小寫金額(如 6050.09)。
| 儲存格 | 公式 | 自訂格式 | 顯示結果 |
|---|---|---|---|
| B2(元) | =IF(B1<0,"金額為負無效",INT(B1)) |
[DBNum2]("人民幣")G/通用格式"元" |
(人民幣)陸仟零伍拾元 |
| C2(角) | =IF(B1<0,"",INT(B1*10)-INT(B1)*10) |
[DBNum2]G/通用格式"角" |
零角 |
| D2(分) | =IF(B1<0,"",INT(B1*100)-INT(B1*10)*10) |
[DBNum2]G/通用格式"分" |
玖分 |
排版建議:B2 靠右、C2 無間距無邊框、D2 靠左,視覺上連成完整金額。
在 B2 輸入以下巢狀公式:
=IF(B1<0,"金額為負無效",
IF(OR(B1=0,B1=""),"(人民幣)零元整",
IF(B1<1,"(人民幣)",
TEXT(INT(B1),"[DBNum2](人民幣)G/通用格式")&"元")
)&
IF(INT(B1*10)-INT(B1)*10=0,
IF(INT(B1)*(INT(B1*100)-INT(B1*10)*10)=0,"","零"),
TEXT(INT(B1*10)-INT(B1)*10,"[DBNum2]")&"角"
)&
IF((INT(B1*100)-INT(B1*10)*10)=0,"整",
TEXT(INT(B1*100)-INT(B1*10)*10,"[DBNum2]")&"分"
)
)
結果範例:(人民幣)陸仟零伍拾元零玖分。符合財務規範:有角無分顯示「整」、元角分皆零顯示「零元整」、零角自動顯示「零」。
方案一易閱讀修改,適合模板固定格式;方案二緊湊,適合臨時計算。兩法皆可複製公式套用至其他列,若來源儲存格位置變更,可用「取代」批次更新公式中的參考位址。