尋找缺失值
有時候,您需要比較兩個清單,檢查 Excel 中的 A 清單中的值是否在 B 清單中。例如,您有一個產品清單,並且想要檢查您的清單中的產品是否出現在供應商提供的產品清單中。為了完成此任務,我們列出了以下三種方法,您可以選擇您喜歡的方法。
使用 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("查找值",查找範圍,0)),"缺失","找到")
√ 注意:您可以根據需要更改 "缺失"、"找到" 為任何其他值。
- lookup_value: MATCH 用來檢索其在 lookup_range 中的位置的值,如果不存在則返回 #N/A 錯誤。這裡指的是您清單中的產品。
- lookup_range: 與 lookup_value 比較的單元格範圍。這裡指的是供應商的產品清單。
要找出您的清單中的所有產品是否都存在於供應商的清單中,請將以下公式複製或輸入到 H6 單元格中,然後按Enter鍵以獲得結果:
=IF(ISNA(MATCH(30002,$B$6:$B$10,0)),"缺失","找到")
或者,使用單元格引用使公式動態化:
=IF(ISNA(MATCH(G6,$B$6:$B$10,0)),"缺失","找到")
√ 注意:上面的美元符號 ($) 表示絕對引用,這意味著當您將公式移動或複製到其他單元格時,公式中的 lookup_range 不會改變。但是,由於您希望 lookup_value 是動態的,因此不會添加美元符號。輸入公式後,向下拖動填充柄以將公式應用於下方的單元格。
公式的解釋
這裡我們以下面的公式為例:
=IF(ISNA(MATCH(G8,$B$6:$B$10,0)),"缺失","找到")
- MATCH(G8,$B$6:$B$10,0): match_type 0 強制 MATCH 函數返回一個數字值,表示在陣列 $B$6:$B$10 中第一次匹配 3004 的位置,該值位於 G8 單元格中。然而,在這種情況下,MATCH 找不到該值在查找陣列中,因此它將返回 #N/A 錯誤。
- ISNA(ISNA(MATCH(G8,$B$6:$B$10,0))) = ISNA(ISNA(#N/A)): ISNA 用於檢查某個值是否為“#N/A”錯誤。如果是,函數將返回 TURE;如果該值不是“#N/A”錯誤,則返回 FALSE。因此,這個 ISNA 公式將返回 TURE。
- IF(ISNA(MATCH(G8,$B$6:$B$10,0)),"缺失","找到") = IF(TRUE,"缺失","找到"): 如果 ISNA 和 MATCH 的比較結果為 TRUE,IF 函數將返回 缺失,否則將返回 找到。因此,公式將返回 缺失。
使用 VLOOKUP、ISNA 和 IF 尋找缺失值
要找出您的清單中的所有產品是否都存在於供應商的清單中,您可以將上述的 MATCH 函數替換為 VLOOKUP,因為它的功能與 MATCH 相同,即如果值不存在於另一個清單中,它將返回 #N/A 錯誤,或者我們可以說它是缺失的。
通用語法
=IF(ISNA(VLOOKUP("查找值",查找範圍,1,FALSE)),"缺失","找到")
√ 注意:您可以根據需要更改 "缺失"、"找到" 為任何其他值。
- lookup_value: VLOOKUP 用來檢索其在 lookup_range 中的位置的值,如果不存在則返回 #N/A 錯誤。這裡指的是您清單中的產品。
- lookup_range: 與 lookup_value 比較的單元格範圍。這裡指的是供應商的產品清單。
要找出您的清單中的所有產品是否都存在於供應商的清單中,請將以下公式複製或輸入到 H6 單元格中,然後按 Enter 鍵以獲得結果:
=IF(ISNA(VLOOKUP(30002,$B$6:$B$10,1,FALSE)),"缺失","找到")
或者,使用單元格引用使公式動態化:
=IF(ISNA(VLOOKUP(G6,$B$6:$B$10,1,FALSE)),"缺失","找到")
√ 注意:上面的美元符號 ($) 表示絕對引用,這意味著當您將公式移動或複製到其他單元格時,公式中的 lookup_range 不會改變。但是,由於您希望 lookup_value 是動態的,因此不會添加美元符號。輸入公式後,向下拖動填充柄以將公式應用於下方的單元格。
公式的解釋
這裡我們以下面的公式為例:
=IF(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"缺失","找到")
- VLOOKUP(G8,$B$6:$B$10,1,FALSE): range_lookup FALSE 強制 VLOOKUP 函數查找並返回完全匹配 3004 的值,該值位於 G8 單元格中。如果 lookup_value 3004 存在於陣列 $B$6:$B$10 的第 1 列中,VLOOKUP 將返回該值;否則,它將返回 #N/A 錯誤值。這裡,3004 不存在於陣列中,因此結果將是 #N/A。
- ISNA(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE))) = ISNA(ISNA(#N/A)): ISNA 用於檢查某個值是否為“#N/A”錯誤。如果是,函數將返回 TURE;如果該值不是“#N/A”錯誤,則返回 FALSE。因此,這個 ISNA 公式將返回 TURE。
- IF(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"缺失","找到") = IF(TRUE,"缺失","找到"): 如果 ISNA 和 VLOOKUP 的比較結果為 TRUE,IF 函數將返回 缺失,否則將返回 找到。因此,公式將返回 缺失。
使用 COUNTIF 和 IF 尋找缺失值
要找出您的清單中的所有產品是否都存在於供應商的清單中,您可以使用更簡單的公式,結合 COUNTIF 和 IF 函數。該公式利用了 Excel 會將任何非零數字評估為 TRUE 的事實。因此,如果值存在於另一個清單中,COUNTIF 函數將返回該值在該清單中的出現次數,然後 IF 將該數字視為 TRUE;如果該值不存在於清單中,COUNTIF 函數將返回 0,而 IF 將其視為 FALSE。
通用語法
=IF(COUNTIF("查找範圍",查找值),"找到","缺失")
√ 注意:您可以根據需要更改 "找到"、"缺失" 為任何其他值。
- lookup_range: 與 lookup_value 比較的單元格範圍。這裡指的是供應商的產品清單。
- lookup_value: COUNTIF 用來返回其在 lookup_range 中的出現次數的值。這裡指的是您清單中的產品。
要找出您的清單中的所有產品是否都存在於供應商的清單中,請將以下公式複製或輸入到 H6 單元格中,然後按 Enter 鍵以獲得結果:
=IF(COUNTIF($B$6:$B$10,30002),"找到","缺失")
或者,使用單元格引用使公式動態化:
=IF(COUNTIF($B$6:$B$10,G6),"找到","缺失")
√ 注意:上面的美元符號 ($) 表示絕對引用,這意味著當您將公式移動或複製到其他單元格時,公式中的 lookup_range 不會改變。但是,由於您希望 lookup_value 是動態的,因此不會添加美元符號。輸入公式後,向下拖動填充柄以將公式應用於下方的單元格。
公式的解釋
這裡我們以下面的公式為例:
=IF(COUNTIF($B$6:$B$10,G8),"找到","缺失")
- COUNTIF($B$6:$B$10,G8): COUNTIF 函數計算 G8 單元格中的值 3004 在陣列 $B$6:$B$10 中出現了多少次。顯然,3004 不存在於陣列中,因此結果將是 0。
- IF(COUNTIF($B$6:$B$10,G8),"找到","缺失") = IF(0,"找到","缺失"): IF 函數將 0 評估為 FALSE。因此,公式將返回 缺失,這是第一個參數評估為 FALSE 時返回的值。
相關函數
IF 函數是 Excel 工作簿中最簡單且最有用的函數之一。它執行一個簡單的邏輯測試,根據比較結果返回一個值,如果結果為 TRUE,則返回一個值;如果結果為 FALSE,則返回另一個值。
Excel MATCH 函數在一系列單元格中搜索特定值,並返回該值的相對位置。
Excel VLOOKUP 函數通過匹配表格的第一列來搜索值,並返回同一行中某一列的相應值。
COUNTIF 函數是 Excel 中的一個統計函數,用於計算符合條件的單元格數量。它支持邏輯運算符(<>、=、> 和 <),以及用於部分匹配的通配符(? 和 *)。
相關公式
要在 Excel 的範圍內查找包含某些文本字符串的第一個匹配項,您可以使用帶有萬用字元(星號 (*) 和問號 (?))的 INDEX 和 MATCH 公式。
有時候,您需要 Excel 根據部分信息來檢索數據。為了解決這個問題,您可以使用帶有萬用字元(星號 (*) 和問號 (?))的 VLOOKUP 公式。
有時候,我們需要在 Excel 中找到近似匹配來評估員工的表現、評分學生的成績、根據重量計算郵資等。在本教程中,我們將討論如何使用 INDEX 和 MATCH 函數來檢索我們需要的結果。
在某些情況下,您可能需要根據多個條件查找最接近或近似匹配的值。通過結合 INDEX、MATCH 和 IF 函數,您可以快速在 Excel 中完成此操作。
最佳的辦公生產力工具
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 一樣。