看板 Office 關於我們 聯絡資訊
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體:Execl 版本:2019 有一條算式 需要改良 =IF(A10="","",IF(TYPE(SEARCHB($L$1,E10,1))=16,0,SEARCHB($L$1,E10,1))) 其中指向原本 $L$1 符合就行 但是如果要增加一個 $M$1 符合$L$1 也可以 符合$M$1 白話來說例如 原本抓出"公斤"這個單位會計算 如果是"臺斤""公升"之類以外不會算 現在要抓 "公斤" "公升" 都可以 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.163.154 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1602485104.A.1F0.html
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