excel問題,請問為何這自動把數字轉換中文大寫,出現不同數值。入的數字是16642.59875,我是小數後兩位然166

2007-05-11 9:15 pm
我打的程式是 =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)&"仙整","整")),"參","叁")

回答 (2)

2007-05-12 9:44 am
✔ 最佳答案
題目的公式, 又長又亂碼, 我先將原式列出:

=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
2007-05-11 9:27 pm
照計如果你在方格內打上 16642.59875
只會在方格上出現這組數字, 如果點數後不同, 可能是你未調教佢的小數後位囉..


收錄日期: 2021-04-16 12:15:19
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070511000051KK01418

檢視 Wayback Machine 備份