✔ 最佳答案
題目的公式, 又長又亂碼, 我先將原式列出:
=SUBSTITUTE(IF(ABS(F15) < 0.005,“”,IF(F15 < 0,“負”,)&IF(INT(ABS(F15)),NUMBERSTRING(INT(ABS(F15)),2)&“元”,)&IF(INT(ABS(F15)*10)-INT(ABS(F15))*10,NUMBERSTRING(INT(ABS(F15)*10)-INT(ABS(F15))*10,2)&“角”,IF(INT(ABS(F15))=ABS(F15),,IF(ABS(F15) < 0.1,,“零”)))&IF(ROUND(ABS(F15)*100-INT(ABS(F15)*10)*10,),NUMBERSTRING(ROUND(ABS(F15)*100-INT(ABS(F15)*10)*10,),2)&“仙整”,“整”)),“參”,“叁”)
此公式字符合計有363個
我最早是在網友亞nam老師的回答中看到, 此式相當了不起, 估計是亞nam原創的。
現時被樓主捉到一條(電腦)虫, 如輸入超過3個小數位, 有些數字會出錯。輸入 1.295, 應是 1.30出壹元叁角整, 但公式錯出壹元貳角壹拾仙(樓主題目寫錯是壹仙)。
故建議你不要輸入三個小數位的數字, 如F15是公式, 便將公式加round 即 =round(原有公式,2)
殺此條虫並不難, 但公式會再長三分一, 太長了。我已將原式更改如下,可殺此蟲, 但不顯示負數, 字元長度是376, 與原式相若:
=SUBSTITUTE(IF(F15 < 0.005,“”,IF(INT(ROUND(F15,2)),NUMBERSTRING(INT(ROUND(F15,2)),2)&“元”,)&IF(INT(ROUND(F15,2)*10)-INT(ROUND(F15,2))*10,NUMBERSTRING(INT(ROUND(F15,2)*10)-INT(F15)*10,2)&“角”,IF(INT(ROUND(F15,2))=ROUND(F15,2),,IF(ROUND(F15,2) < 0.1,,“零”)))&IF(ROUND(ROUND(F15,2)*100-INT(ROUND(F15,2)*10)*10,),NUMBERSTRING(ROUND(ROUND(F15,2)*100-INT(F15*10)*10,),2)&“仙整”,“整”)),“參”,“叁”)
最後一提, 更改F15的格式, 祇對顯示有分別, 但對F15的內容及以上的公式是沒有影響。
2007-05-12 20:45:58 補充:
由于Yahoo系統亂碼問題, 我將公式上的英文引號 " " , 改成全型的中文引號“”你輸入Excel時, 要將 “”改回 " ", 才會生效如再有問題, 請留e-mail