→ soyoso: 配合函數or 10/12 14:49
→ soyoso: 或是函數and(內文公式這二個type都為錯誤值) 10/12 14:56
→ soyoso: 如果實際要回傳的也是searchb(..)的值的話,抓二個,就配 10/12 15:08
→ soyoso: 合iferror 10/12 15:08
→ soyoso: 以iferror的話前面的if(type(..)方面也可調整不使用 10/12 15:08
→ soyoso: sum配合iferror來將searchb錯誤值回傳0,再加總的陣列公式 10/12 15:08
→ soyoso: 也可以 10/12 15:08
我表達得不好
重問一次好了
SEARCH函數
會在某個文字字串內找到另一個文字字串
並傳回該文字字串在第一個文字字串中的起始位置
=SEARCH("斤","100斤")
此函數會傳回4
========================
但是我匯入的隨機資料
會有50斤 135升 77盒
而我需要抓 "斤"跟"升" 得到"3"or"4"這些值
請問式子該怎麼寫 我在猜用 or and 還是其他寫法
=SEARCH("斤" or "升","100斤") <--應該是錯的
※ 編輯: hmsboy (111.254.163.154 臺灣), 10/12/2020 16:34:45
→ soyoso: and(條件1,條件2),條件是什麼type(..)=16 10/12 17:07
→ soyoso: 就search搜尋這二個的回傳的值的話,可不用再判斷type是否 10/12 17:14
→ soyoso: 為錯誤值了,iferror(search("斤",...),iferror(search(" 10/12 17:14
→ soyoso: 升",...),0)),判斷a10是否為空字串再自行加入 10/12 17:14
抱歉 還是弄不懂式子怎麼寫
原本
=IF(A10="","",IF(TYPE(SEARCHB($L$1,E10,1))=16,0,SEARCHB($L$1,E10,1)))
只有 $L$1 如果 $M$1 也要寫進去 該怎麼寫
※ 編輯: hmsboy (220.142.59.114 臺灣), 10/13/2020 10:45:16
→ soyoso: 要以內文公式,加入and的話,...if(and(條件1,條件2),0, 10/13 11:05
→ soyoso: iferror(searchb($L$1,..),searchb($m$1,..))).. 10/13 11:05
→ soyoso: 條件是什麼回有寫了,自行調整 10/13 11:05
→ soyoso: ...if(type(..),0,searchb(..))整個改為回文10/12 17:14所 10/13 11:05
→ soyoso: 寫的二個iferror(searchb(..),iferror(searchb(...),0))也 10/13 11:05
→ soyoso: 可以 10/13 11:05
→ soyoso: 或是回文10/12 15:08所寫的sum配合iferror將searchb錯誤值 10/13 11:05
→ soyoso: 回傳0,再加總也可以 10/13 11:05
=IF(A6="","",IF(AND(TYPE(SEARCHB($L$1,E6,1))=16,TYPE(SEARCHB($M$1,E6,1))=16),
0,IFERROR(SEARCHB($L$1,E6,1),SEARCHB($M$1,E6,1))))
是這樣嗎?
值跑出來了 你的意思是這樣嗎
或是說可以更精簡?
考慮到以後會增加 $N$1 $O$1 $P$1 ....
※ 編輯: hmsboy (220.142.59.114 臺灣), 10/13/2020 11:38:11
→ soyoso: 值有回傳且正確,那公式是就這樣 10/13 11:48
→ soyoso: 有其他寫法我都於回文告知了,那個是原po覺得精簡的就自行 10/13 11:48
→ soyoso: 決定 10/13 11:48
→ soyoso: 有要增加就用10/12 15:08所寫到的陣列公式,searchb搜尋上 10/13 11:48
→ soyoso: 就以範圍L1:P1(這是指範圍內有值,有可能沒有值的話,要加 10/13 11:48
→ soyoso: 上L1:P1<>""的判斷) 10/13 11:48
謝謝 我再研究看看
※ 編輯: hmsboy (220.142.59.114 臺灣), 10/13/2020 11:54:26