查找缺失值
有时,您需要对比两个列表,检查列表 A 中的值是否出现在列表 B 中(Excel)。例如,您拥有一份产品清单,需要核查这些产品是否包含在供应商提供的产品列表中。为帮助您实现这一目标,本文汇总了三种实用方法,您可根据实际需求灵活选择。

用 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 未加美元符号,是为了让其能够动态变化。输入公式后,向下拖动填充柄即可将公式应用到下方单元格。

公式说明
此处以以下公式为例:
=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。因为与 MATCH 一样,VLOOKUP 在另一个列表中找不到对应值时,也会返回 #N/A 错误,表示该项缺失。
通用语法
=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 没有添加美元符号,是因为需要它动态变化。输入公式后,向下拖动填充柄以将公式应用于下方单元格。

公式说明
此处以以下公式为例:
=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 出现在 1 数组第 1 列 $B$6:$B$10 中,VLOOKUP 即会返回该值;否则将返回 #N/A 错误值。本例中,3004 未出现在数组中,因此结果为 #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 没有添加美元符号,是因为需要它动态变化。输入公式后,向下拖动填充柄以将公式应用于下方单元格。

公式说明
此处以以下公式为例:
=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 时所返回的值。
相关函数
IF 函数是 Excel 工作表中最简单且实用的函数之一。它能够执行简单的逻辑判断,根据比较结果返回一个值(当结果为 TRUE),或返回另一个值(当结果为 FALSE)。
Excel MATCH 函数可用于在单元格区域中查找指定值,并返回该值的相对位置。
Excel VLOOKUP 函数可在表格的首列查找匹配值,并返回同一行中指定列的对应数据。
COUNTIF 函数是 Excel 中的统计函数,用于计算满足特定条件的单元格数量。它支持逻辑运算符(=、>、<)以及用于模糊匹配的通配符(? 和 *)。
相关公式
要在 Excel 区域中查找包含特定文本字符串的第一个匹配项,可以结合使用 INDEX 函数、区分公式函数以及通配符——星号(*)和问号(?)来实现。
有时,您可能需要让 Excel 根据部分信息来检索数据。为此,您可以将 VLOOKUP 公式与通配符——星号(*)和问号(?)结合使用,轻松实现这一需求。
有些场景下我们需要在 Excel 中查找近似匹配值,比如评估员工绩效、学生分数分级,以及根据重量计算邮费等。在本教程中,将介绍如何使用 INDEX 和 MATCH 函数获取所需结果。
在某些情况下,您可能需要基于多个条件查找最接近或近似匹配的值。通过结合 INDEX、MATCH 及 IF 函数,您可以在 Excel 中快速实现。
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。