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

找出遺漏的值

作者Amanda Li修改日期

有時您需要比對兩個清單,確認清單 A 中的項目是否也出現在清單 B 中。例如,您手邊有一份產品清單,想確認這些產品是否同時列於供應商所提供的清單內。為協助您完成這項任務,以下提供三種方法,歡迎選用最適合您的方式。

尋找遺漏的值 1

使用 MATCH、ISNA 與 IF 找出遺漏的值
使用 VLOOKUP、ISNA 與 IF 找出遺漏的值
使用 COUNTIF 與 IF 找出遺漏的值


使用 MATCH、ISNA 與 IF 找出遺漏的值

如上圖所示,若要確認您清單中的所有產品是否都存在於供應商的清單中,可先使用 MATCH 函數,查找您清單中某個產品(清單 A 的值)在供應商清單(清單 B)中的位置。若找不到該產品,MATCH 會傳回 #N/A 錯誤;接著將此結果交給 ISNA 函數,將 #N/A 錯誤轉換為 TRUE,表示該產品遺漏;最後再由 IF 函數傳回您預期的結果。

通用語法

=IF(ISNA(MATCH()))"lookup_value",lookup_range,0)),"Missing","Found")

√ 注意:您可以根據需求將「Missing」和「Found」替換為其他值。

  • lookup_value:MATCH 函數會在 lookup_range 中搜尋此值,若找到則傳回其位置;若找不到則傳回 #N/A 錯誤。此處指的是您清單中的產品。
  • lookup_range:用來與 lookup_value 進行比對的儲存格範圍,此處即為供應商的產品清單。

若要確認您清單中的所有產品是否都存在於供應商的清單中,請在儲存格 H6 中複製或輸入下列公式,然後按下 Enter 以取得結果:

=IF(ISNA(MATCH()))30002,$B$6:$B$10,0)),"Missing","Found")

或者,使用一個儲存格引用讓公式具備動態效果:

=IF(ISNA(MATCH()))G6,$B$6:$B$10,0)),"Missing","Found")

√ 注意:上述的美元符號($)代表絕對參照,表示公式中的 lookup_range 在移動或複製到其他儲存格時不會改變;而 lookup_value 未加上美元符號,是為了讓它能隨位置動態調整。輸入公式後,請向下拖曳填滿控點,將公式快速套用至下方儲存格。

尋找遺漏的值 2

公式說明

以下方公式為例:

=IF()ISNA()MATCH(G8,$B$6:$B$10,0)),"Missing","Found")

  • MATCH(G8,$B$6:$B$10,0) 當 match_type 為 0 時,MATCH 函數會傳回一個數值,表示 3004(即儲存格 G8 中的值)在陣列 $B$6:$B$10 中首次完全相符的位置。然而在此情況下,MATCH 無法在查詢陣列中找到該值,因此將傳回 #N/A 錯誤。
  • ISNA()MATCH(G8,$B$6:$B$10,0))=ISNA()#N/A)ISNA 函數用於判斷某個值是否為「#N/A」錯誤。若是,函數會傳回 TRUE;若非「#N/A」錯誤,則傳回 FALSE。因此,此 ISNA 公式將傳回 TRUE
  • IF()ISNA()MATCH(G8,$B$6:$B$10,0)),"Missing","Found") = IF(TRUE,“Missing“,“Found“): 當 ISNA 與 MATCH 的比較結果為 TRUE 時,IF 函數會傳回「Missing」,否則傳回「Found」。因此,此公式將傳回 Missing

使用 VLOOKUP、ISNA 與 IF 找出遺漏值

若要確認您的清單中所有產品是否都存在於供應商清單中,可將上述的 MATCH 函數改用 VLOOKUP,因為當某個值在另一份清單中不存在(即遺漏)時,VLOOKUP 會傳回 #N/A 錯誤,其行為與 MATCH 相同。

通用語法

=IF(ISNA(VLOOKUP()))"lookup_value",lookup_range,1,FALSE)),"Missing","Found")

√ 注意:您可以根據需求將「Missing」和「Found」替換為其他值。

  • lookup_value:VLOOKUP 函數用來檢索該值是否存在於 lookup_range 中,若存在則傳回對應的結果;若不存在則傳回 #N/A 錯誤。此處指的是您清單中的產品。
  • lookup_range:用來與 lookup_value 進行比對的儲存格範圍,此處即為供應商的產品清單。

若要確認您的清單中所有產品是否都存在於供應商清單中,請在儲存格 H6 中複製或輸入下列公式,然後按下 Enter 取得結果:

=IF(ISNA(VLOOKUP()))30002,$B$6:$B$10,1,FALSE)),"Missing","Found")

或者,使用一個儲存格引用讓公式具備動態效果:

=IF(ISNA(VLOOKUP()))G6,$B$6:$B$10,1,FALSE)),"Missing","Found")

√ 注意:上述的美元符號($)表示絕對參照,這代表公式中的 lookup_range 在移動或複製公式至其他儲存格時不會改變。然而,lookup_value 並未加上美元符號,因為您希望它具備動態效果。輸入公式後,請向下拖曳填滿控點,將公式套用至下方的儲存格。

尋找遺漏的值 3

公式說明

以下方公式為例:

=IF()ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"Missing","Found")

  • VLOOKUP(G8,$B$6:$B$10,1,FALSE)range_lookup 參數設為 FALSE 時,VLOOKUP 函數會強制執行精確比對,僅傳回與 3004(即儲存格 G8 中的值)完全相符的結果。若 3004 存在於陣列 $B$6:$B$10 的第一欄中,VLOOKUP 將傳回該值;否則將傳回 #N/A 錯誤。由於此處 3004 並未出現在該陣列中,因此結果為 #N/A#N/A
  • ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE))=ISNA()#N/A)ISNA 函數用於判斷某個值是否為「#N/A」錯誤:若是,則傳回 TRUE;若非「#N/A」錯誤,則傳回 FALSE。因此,此 ISNA 公式將傳回 TRUE
  • IF()ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"Missing","Found") = IF(TRUE,“Missing“,“Found“): 當 ISNA 與 VLOOKUP 的比較結果為 TRUE 時,IF 函數會傳回「Missing」,否則傳回「Found」。因此,此公式將傳回 Missing

使用 COUNTIF 與 IF 找出遺漏值

若要確認您的清單中所有產品是否都存在於供應商清單中,可使用更簡潔的 COUNTIF 與 IF 函數組合公式。此公式利用了 Excel 會將除零(0)以外的所有數字視為 TRUE 的特性。因此,若某個值存在於另一份清單中,COUNTIF 函數會傳回該值在清單中的出現次數,IF 函數則將該數字視為 TRUE;若該值不存在於清單中,COUNTIF 函數會傳回 0,IF 函數則將其視為 FALSE。

通用語法

=IF(COUNTIF())"lookup_range",lookup_value),"Found","Missing")

√ 注意:您可以依需求將「Found」、「Missing」更改為任何其他值。

  • lookup_range:用來與 lookup_value 進行比對的儲存格範圍,此處指供應商的產品清單。
  • lookup_value:COUNTIF 函數會傳回該值在 lookup_range 中出現的次數,此處即為您清單中的產品。

若要確認您的清單中所有產品是否都存在於供應商清單中,請在儲存格 H6 中複製或輸入下列公式,然後按下 Enter 取得結果:

=IF(COUNTIF())$B$6:$B$10,30002),"Found","Missing")

或者,使用一個儲存格引用讓公式具備動態效果:

=IF(COUNTIF())$B$6:$B$10,G6),"Found","Missing")

√ 注意:上述的美元符號($)表示絕對參照,這代表公式中的 lookup_range 在移動或複製公式至其他儲存格時不會改變。然而,lookup_value 並未加上美元符號,因為您希望它具備動態效果。輸入公式後,請向下拖曳填滿控點,將公式套用至下方的儲存格。

尋找遺漏的值 4

公式說明

以下方公式為例:

=IF()COUNTIF($B$6:$B$10,G8),"Found","Missing")

  • COUNTIF($B$6:$B$10,G8)COUNTIF 函數用於計算 3004(即儲存格 G8 中的值)在陣列 $B$6:$B$10 中出現的次數。由於該陣列中並未包含 3004,因此結果為 0.
  • IF()COUNTIF($B$6:$B$10,G8),"Found","Missing") = IF(0,“Found“,“Missing“): 由於 IF 函數會將 0 視為 FALSE,因此此公式將傳回 Missing(即當第一個引數評估為 FALSE 時所傳回的值)。

相關函數

Excel IF 函數

IF 函數是 Excel 工作表中最簡單且最實用的函數之一,能執行基本的邏輯測試,並根據比較結果傳回對應的值:當條件為 TRUE 時傳回一個值,為 FALSE 時則傳回另一個值。

Excel MATCH 函數

Excel 的 MATCH 函數會在指定的儲存格範圍中搜尋特定值,並傳回該值的相對位置。

Excel VLOOKUP 函數

Excel 的 VLOOKUP 函數會根據表格第一欄的比對值來搜尋資料,並回傳同一列中指定欄位的對應值。

Excel COUNTIF 函數

COUNTIF 函數是 Excel 中的統計函數,用於計算符合特定條件的儲存格數量,支援邏輯運算子(=、>、<)與萬用字元(? 和 *)進行部分比對。


相關公式

使用萬用字元查詢包含特定文字的值

若要在 Excel 的範圍中找出包含特定文字字串的第一個相符項目,您可以結合 INDEX 與 MATCH 函數,並搭配萬用字元——星號(*)與問號(?)。

使用 VLOOKUP 進行部分比對

有時您需要根據部分資訊從 Excel 中擷取資料。此時,可結合 VLOOKUP 函數與萬用字元——星號(*)和問號(?),輕鬆達成目標。

使用 INDEX 與 MATCH 進行近似比對

有時我們需要在 Excel 中找出近似相符的項目,例如評估員工績效、評定學生分數、依重量計算郵資等。本教學將說明如何運用 INDEX 與 MATCH 函數取得所需結果。

依據多項條件查詢最接近的相符值

在某些情況下,您可能需要依據多項條件查詢最接近或近似的相符值。透過結合 INDEX、MATCH 與 IF 函數,即可在 Excel 中快速完成此作業。


最佳 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 般的高效能分頁體驗。