iT邦幫忙

0

Excel 文字數子加總

https://ithelp.ithome.com.tw/upload/images/20181120/201029533el2UFIxIu.jpg
請問:1+2+3(他)+2(我我我)
如何讓B2計算出A1的結果? 只單純計算A1內的數值,因為A1內的內容可能是數子(英文或國字的組合)

小魚 iT邦大師 1 級 ‧ 2018-11-20 20:37:29 檢舉
什麼東西會有這需求? @@
運算除了+之外,還有別的運算元嗎?
ant1017 iT邦新手 3 級 ‧ 2018-11-21 08:36:28 檢舉
怎麼不將文字數字放在不同格子..
excel空間很小嗎=_=

1 個回答

1
q00153
iT邦新手 3 級 ‧ 2018-11-21 10:34:11
最佳解答

終於有好玩的題目了 XD
我的解答如下
請您參考

首先,我的 Excel 副檔名是 .xlsm
因為要用到 EVALUATE() 必須存成這個副檔名

先看一下 Excel 檔
https://ithelp.ithome.com.tw/upload/images/20181121/20092441ttZzx5M0aZ.png

再來是 B2 儲存格定義的公式
請注意這是陣列公式
輸入完後要按下 Ctrl + Shift + Enter
您可以看到公式內以陣列定義了要保留的字元
總共有四則運算子加減乘除與數字 0~9
並且按下 Ctrl + Shift + Enter 後因為是陣列公式
Excel 會加上大誇弧在公式兩邊 {}

="="&CONCAT(IF(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)={"*","+","-","/","0","1","2","3","4","5","6","7","8","9"},MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),""))

https://ithelp.ithome.com.tw/upload/images/20181121/20092441XuPBcdEysI.png

最後是 B3 的名稱定義 EVALUATE()
如果不清楚怎麼定義 EVALUATE()
請參閱 Google XD
https://www.google.com/search?q=excel+evaluate&ie=utf-8&oe=utf-8&client=firefox-b
https://ithelp.ithome.com.tw/upload/images/20181121/20092441NUo85sfbKl.png

然後把公式往下拉就可以~

以上報告~

如果遇到1+2+3(你)*(1+2+3),可能會破功。

q00153 iT邦新手 3 級 ‧ 2018-11-22 13:46:53 檢舉

對齁 XD
當初沒想到~
沒關系,寫程式本來就常常有 BUG
以下是補丁修正版~~

="="&SUBSTITUTE(CONCAT(IF(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)={"*","+","-","/",".","0","1","2","3","4","5","6","7","8","9","(",")"},MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),"")),"()","")

https://ithelp.ithome.com.tw/upload/images/20181122/20092441y0zdKqK6EB.png

speoial iT邦新手 5 級 ‧ 2018-11-25 21:41:25 檢舉

https://ithelp.ithome.com.tw/upload/images/20181125/20102953xqEiKrPBD4.png
會出現錯誤,請問是哪裡出現錯誤

我要發表回答

立即登入回答