Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

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

Author Sun Last modified

假設有兩個值列表,您想檢查單元格 B3 是否包含範圍 E3:E5 中的某個值,但同時不包含範圍 F3:F4 中的任何值,如下圖所示。本教程將提供一個公式來快速處理此任務,並解釋公式的參數。
doc check if contain one of things but exclude 1

通用公式:

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

參數

Text: 您要檢查的文本字符串。
Include: 您要檢查的參數 text 是否包含的值。
Exclude: 您要檢查的參數 text 是否不包含的值。

返回值:

該公式返回 1 或 0。當單元格包含需要包含的值之一,且不包含任何需要排除的值時,它返回 1,否則返回 0。在這個公式中,1 和 0 被視為邏輯值 TRUE 和 FALSE。

該公式的工作原理

假設您想檢查單元格 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 check if contain one of things but exclude 2

解釋

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

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

ISNUMBER 函數:ISNUMBER 函數在單元格是數字時返回 TRUE。因此 ISNUMBER(SEARCH($E$3:$E$5,B3)) 將返回 {true,true,true} 的數組結果,因為 SEARCH 函數找到了 3 個數字。

--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 check if contain one of things but exclude 3

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

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

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

--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 check if contain one of things but exclude 4

第三部分:將兩個公式相乘

=(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 sample點擊下載樣本文件


相關公式

  • 檢查單元格是否包含特定文本
    要檢查單元格是否包含範圍 A 中的一些文本但不包含範圍 B 中的文本,您可以使用結合 COUNT、SEARCH 和 AND 函數的數組公式。
  • 檢查單元格是否包含多個值中的某一個
    本教程提供了一個公式來檢查單元格是否包含 Excel 中的多個值之一,並解釋了公式中的參數以及公式的工作原理。
  • 檢查單元格是否包含某些值
    假設在 Excel 中,列 E 中有一系列值,您想檢查列 B 中的單元格是否包含列 E 中的所有值,並返回 TRUE 或 FALSE。
  • 檢查單元格是否包含數字
    有時候,您可能想檢查單元格是否包含數字字符。本教程提供了一個公式,如果單元格包含數字則返回 TRUE,如果單元格不包含數字則返回 FALSE。

最強大的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

🤖 KUTOOLS AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數等進行數據分析革命
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或儲存格而不丟失數據  |  無需公式即可四捨五入 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  比較列以 選擇相同和不同的儲存格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文字)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按列表發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
前 15 大工具集12 文本工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 個實用公式基於生日計算年齡 ...)  |  19 插入工具插入QR碼從路徑插入圖片 ...)  |  12 轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行拆分Excel儲存格 ...)  |  ... 及更多
使用您偏好的語言來操作 Kutools - 支持英文、西班牙文、德文、法文、中文及其他 40 多種語言!

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需輕點一下即可實現...


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

  • 一秒鐘內在數十個打開的文件之間切換!
  • 每天減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的效率提高了 50%。
  • 為 Office(包括 Excel)帶來高效的標籤,就像 Chrome、Edge 和 Firefox 一樣。