KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

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

作者修改日期

假設您有兩份值清單,想檢查 B3 儲存格是否包含 E3:E5 範圍中的任一值,同時又不包含 F3:F4 範圍中的任何值(如下圖所示)。本教學將提供一個實用公式,協助您在 Excel 中快速完成這項任務,並詳細說明該公式的各個引數。
文件檢查是否包含其中一項內容但排除 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 會被視為邏輯值 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 鍵,立即取得檢查結果!
文件檢查是否包含其中一項內容但排除 2

說明

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

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。
文件檢查是否包含其中一項內容但排除 3

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

公式 SEARCH($F$3:$F$4,B3) 會在 B3 儲存格中逐一搜尋 $F$3:$F$4 範圍內的每個值,並傳回各文字字串在 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。
文件檢查是否包含其中一項內容但排除 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 來處理。

範例檔案

文件範例點擊下載範例檔案


相關公式


最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


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

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。