問題,要將內容裏面的數字提取出來,並用*作為分隔符號連接起來。
內容比較有規律,並不難,跟來看看。
傳統的思維,將空格替換掉,再將MM替換掉,最後將X替換成*,也就是3次替換。可以直接用Ctrl+H替換,也可以用3個SUBSTITUTE函數。
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"X","*"),"MM",)," ",)
最新版本,有一個高級替換函數SUBSTITUTES,可以一次性將字符全替換掉。
=SUBSTITUTES(A2,{" ","MM","X"},{"","","*"})
2個替換函數語法幾乎一樣,唯一差別就是帶S支持常量數組,能一次替換多個。
語法:
=SUBSTITUTES(內容,{"舊字符1","舊字符2","舊字符3"},{"新字符1","新字符2","新字符3"})
當然,還可以藉助高版本的TEXTJOIN+REGEXP,這種就是通用的,不管裏面混合著什麼無關的字符,都可以搞定。
REGEXP將第2參數設置為[0-9]+,就是將所有數字提取出來。
=REGEXP(A2,"[0-9]+")
現在新增一些無關的字符,也不影響結果,比替換函數更智能。
而TEXTJOIN就可以按分隔符號合併數字,組合起來就可以。
=TEXTJOIN("*",1,REGEXP(A2,"[0-9]+"))
假如現在是要獲取數字相乘的結果,而不是表達式。
用REGEXP提取出來的數字是文本格式,需要用–轉換成數值格式。
而PRODUCT就是獲取數字乘積的結果。同理,有的時候需要數字之和,就換成SUM即可。
=PRODUCT(--REGEXP(A2,"[0-9]+"))
有條件的話,都安裝最新版本,這樣寫起公式更簡單,更智能。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/160192.html