我使用這個方便的方程在excel中搜索單元格內部的術語。Excel:在單元格中搜索多個術語
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
這對金裏奇在C1存在式搜索,如果存在的話,它會顯示一個1
所有我想要做的是尋找在同一時間超過一個學期。任何人都知道如何添加一個或功能,所以我可以搜索金裏奇或奧巴馬或羅姆尼等......?
我使用這個方便的方程在excel中搜索單元格內部的術語。Excel:在單元格中搜索多個術語
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
這對金裏奇在C1存在式搜索,如果存在的話,它會顯示一個1
所有我想要做的是尋找在同一時間超過一個學期。任何人都知道如何添加一個或功能,所以我可以搜索金裏奇或奧巴馬或羅姆尼等......?
另一個方式
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH({"Gingrich","Obama","Romney"},C1)))))>0,"1","")
另外,如果你保持值的列表,說A1至A3,那麼你可以使用
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A$1:$A$3,C1)))))>0,"1","")
因爲Search()返回找到的字符串的位置,所以在Search()函數中根本不需要通配符。
這會爲你做它:
=IF(OR(ISNUMBER(SEARCH("Gingrich",C3)),ISNUMBER(SEARCH("Obama",C3))),"1","")
鑑於該列的名字(這是在C列)的右側該功能,結果是:
Romney
Gingrich 1
Obama 1
非常感謝,我看到只是添加另一個ISNUMBER和SEARCH工作得很好。 – 2013-02-11 14:52:23
我編輯了我的答案以刪除通配符,這是@teylyn建議的不必要的。對於這種情況,'SEARCH()'中有多個項的答案是優越的,我已經提高了它們的效率,但是當單獨的測試不同時,需要將多個測試與'OR()'結合使用,所以我將這個例子留給了其他人可能會覺得它有用。 – Simon 2013-02-11 19:39:26
嘗試使用COUNT函數這樣
=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")
請注意,您不需要通配符(如teylyn說的),除非有特殊原因的「1」並不需要引號(事實上這使它成爲一個文本值)
哇!我很喜歡用逗號輸入術語的簡單性。另外,從另一個地方輸入範圍可能會很方便。當你擁有excel時,誰需要搜索工具包! – 2013-02-11 14:51:39
偉大的解決方案(即使它是在SO上)。希望我可以兩次投票贊成。我只是調整它來從表中提取值,而不是範圍。謝謝。 – dav 2015-08-31 14:30:50
而不是使用'NOT(ISERR())',不會更簡單的'ISNUMBER()'足夠嗎? – Iakovosian 2016-06-22 18:53:32