簡體   English   中英

Excel 2016:在單元格中搜索多個術語

[英]Excel 2016: Searching for multiple terms in a cell

我正在嘗試在Excel 2016中使用OR條件搜索單元格中的多個字符串。

例如,我有一個字符串abcd1234 ,我想找到ab OR 12

我正在使用德語版本,其中函數SEARCH被稱為SUCHEN ,它應該以相同的方式運行。

我發現這個答案表明了這個解決方案:

SEARCH({"Gingrich","Obama","Romney"},C1)

我還發現這個網站建議使用相同的語法:

SEARCH({"red","blue","green"},B5)

本網站相同:

SEARCH({"mt","msa","county","unemployment","|nsa|"},[@Tags])

因此,他們基本上會說出一個由大括號括起來的逗號分隔的搜索詞列表,你很好。

但是將它們放入Excel 2016只會導致通常無意義的Excel錯誤消息,該消息表明公式中存在錯誤,並且它總是突出顯示花括號中的整個部分。

以第一個例子為例,我可以讓Excel不拋出錯誤信息的唯一方法是更改​​語法,如下所示:

=SEARCH({"Gingrich";"Obama";"Romney"};C1)

但是用分號分隔搜索項並不能正確應用OR條件,因此這不是解決方案。

我從這個答案中知道我可以進行單獨的搜索並將它們與條件串在一起,但我想避免這種情況,我也想知道為什么應該由多個源確認的語法不起作用為我工作。

編輯:

好的,我開始理解這一點,感謝Solar Mike:

代碼=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},A1)),1,"")確實完美無缺。

此外=COUNT(SEARCH({"Romney","Obama","Gingrich"},A1))工作。

但是=SEARCH({"Romney","Obama","Gingrich"},A1)沒有。

另外=ISNUMBER(SEARCH({"Gingrich","Obama","Romney"},A1))不起作用。

我很想知道原因。

好的,這樣可行:

OR(IFERROR(FIND("ab",A1,1),0),IFERROR(FIND("12",A1,1),0))

在這里測試: 在此輸入圖像描述

我按照其中一個鏈接和這樣的版本:

=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")

按預期工作,但如果搜索被隔離,那么失敗,我沒有找到解釋......

與其他數組樣式公式一樣,傳遞數組的部分必須包含在某種聚合函數中,以使其掃描數組 - 否則它只會查看數組的第一個元素。 所以像COUNT,SUM,SUMPRODUCT這樣的東西都可以解決問題。

我首選的是

=OR(ISNUMBER(SEARCH({"a","b","c"},A1)))

因為如果你想要AND邏輯,你可以很容易地將它改為:

=AND(ISNUMBER(SEARCH({"a","b","c"},A1)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM