Note: The other languages of the website are Google-translated. Back to English

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。

最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

您想快速,完美地完成日常工作嗎? Kutools for Excel具有300個強大的高級功能(合併工作簿,按顏色求和,拆分單元格內容,轉換日期等),並為您節省80%的時間。

  • 專為1500個工作方案而設計,可幫助您解決80%的Excel問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,可將您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
按評論排序
留言 (1)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
avec les fonctions en français ça donne : SOMMEPROD(--ESTNUM(CHERCHE(Liste;B2)))
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點