跳到主要內容

Excel公式:檢查單元格是否包含多個值之一,但排除其他值

假設有兩個值列表,您要檢查單元格B3是否包含範圍E3:E5中的值之一,但是同時,它不包含範圍F3:F4中的任何值,如下所示。 本教程將提供一個公式,以在Excel中快速處理此任務並解釋該公式的參數。
doc檢查是否包含某物但排除1

通用公式:

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,text)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,text)))=0)

參數

Text: the text string you want to check.
Include: the values you want to check if argument text contains.
Exclude: the values you want to check if argument text does not contain.

返回值:

該公式返回1或0。當單元格包含一個需要包含的值,並且不包含任何需要排除的值時,它返回1或返回0。此公式1和0的處理方式類似於邏輯值真假。

這個公式如何運作

假設您要檢查單元格B3是否包含範圍E3:E5中的值之一,但同時排除範圍F3:F4中的值,請使用以下公式

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

媒體推薦 Enter 鍵以獲取檢查結果。
doc檢查是否包含某物但排除2

解釋

部分1: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) 檢查單元格是否包含E3:E5中的值

搜索 函數:SEARCH函數返回文本字符串中另一個字符的第一個字符的位置,如果SEARCH函數找到匹配的文本,則返回相對位置,否則返回#VALUE! 錯誤。 例如,這裡的公式 SEARCH($E$3:$E$5,B3) 將在單元格B3中搜索範圍E5:E3的每個值,並返回每個文本字符串在單元格B3中的位置。 它將返回一個數組結果,如下所示: {1; 7; 12}.

ISNUMBER函數:當單元格為數字時,ISNUMBER函數返回TRUE。 所以 ISNUMBER(SEARCH($E$3:$E$5,B3)) 當SEARCH函數找到3個數字時,將以{true,true,true}返回數組結果。

--ISNUMBER(SEARCH($E$3:$E$5,B3)) 將TRUE值轉換為1,並將FALSE值轉換為0,因此此公式將數組結果更改為 {1; 1; 1}.

SUMPRODUCT 函數:用於將範圍或數組的總和加倍,並返回乘積之和。 的 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 返回1 + 1 + 1 = 3。

最後比較左公式 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) 和0,只要左公式的結果大於0,結果將為TRUE,否則將返回FALSE。 在這裡,它返回TRUE。
doc檢查是否包含某物但排除3

部分2: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) 檢查單元格是否不包含F3:F4中的值

其計算公式 搜索($ F $ 3:$ F $ 4,B3) 將在單元格B3中搜索範圍E5:E3中的每個值,並返回每個文本字符串在單元格B3中的位置。 它將返回一個數組結果,如下所示: {#VALUE!;#VALUE!}.

ISNUMBER(SEARCH($F$3:$F$4,B3)) 將返回數組結果為 {false; false} 因為SEARCH函數找到0號。

--ISNUMBER(SEARCH($F$3:$F$4,B3)) 將TRUE值轉換為1,並將FALSE值轉換為0,因此此公式將數組結果更改為 {0; 0}.

SUMPRODUCT 函數:用於將範圍或數組的總和加倍,並返回乘積之和。 的 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 返回0 + 0 = 0。

最後比較左公式 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) 和0,只要左公式的結果等於0,結果將返回TRUE,否則將返回FALSE。 在這裡,它返回TRUE。
doc檢查是否包含某物但排除4

第3部分:多個兩個公式

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

=TRUE*TRUE

=1

該公式1和0的處理方式類似於邏輯值TRUE和FALSE。

示例文件

doc樣本點擊下載示例文件


相對公式

  • 檢查單元格是否包含特定文本
    若要檢查單元格是否包含範圍A中的某些文本但不包含範圍B中的文本,可以使用將Excel中的COUNT,SEARCH和AND函數組合在一起的數組公式
  • 檢查單元格是否包含許多東西之一
    本教程提供了一個用於檢查單元格是否包含Excel中多個值之一的公式,並說明了公式中的參數以及公式的工作方式。
  • 檢查單元格是否包含其中之一
    假設在Excel中,E列中有一個值列表,您想檢查B列中的單元格是否包含E列中的所有值,並返回TRUE或FALSE。
  • 檢查單元格是否包含數字
    有時,您可能需要檢查單元格是否包含數字字符。 本教程提供了一個公式,如果單元格包含數字,則將返回TRUE,如果單元格不包含數字,則將返回FALSE。

最佳辦公效率工具


Office Tab - 在 Microsoft Office(包括 Excel)中啟用分頁式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
<p>avec les fonctions en français ça donne : SOMMEPROD(--ESTNUM(CHERCHE(Liste;B2)))</p>
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations