Excel 公式:檢查單元格是否包含多個值中的某一個但排除其他值
假設有兩個值列表,您想檢查單元格 B3 是否包含範圍 E3:E5 中的某個值,但同時不包含範圍 F3:F4 中的任何值,如下圖所示。本教程將提供一個公式來快速處理此任務,並解釋公式的參數。
通用公式:
=(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 鍵以獲取檢查結果。
解釋
第一部分:(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。
第二部分:(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。
第三部分:將兩個公式相乘
=(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。
樣本文件
相關公式
- 檢查單元格是否包含特定文本
要檢查單元格是否包含範圍 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 for Excel 擁有超過 300 種功能,確保您需要的功能只需輕點一下即可實現...
Office Tab - 在 Microsoft Office(包括 Excel)中啟用標籤式閱讀和編輯
- 一秒鐘內在數十個打開的文件之間切換!
- 每天減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的效率提高了 50%。
- 為 Office(包括 Excel)帶來高效的標籤,就像 Chrome、Edge 和 Firefox 一樣。