KutoolsforOffice — 一套方案,五大工具。事半功倍。

查找缺失值

作者Amanda Li修改日期

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

查找缺失值 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。因为与 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 没有添加美元符号,是因为需要它动态变化。输入公式后,向下拖动填充柄以将公式应用于下方单元格。

查找缺失值 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 出现在 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 没有添加美元符号,是因为需要它动态变化。输入公式后,向下拖动填充柄以将公式应用于下方单元格。

查找缺失值 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 函数、区分公式函数以及通配符——星号(*)和问号(?)来实现。

VLOOKUP 模糊匹配

有时,您可能需要让 Excel 根据部分信息来检索数据。为此,您可以将 VLOOKUP 公式与通配符——星号(*)和问号(?)结合使用,轻松实现这一需求。

INDEX 和 MATCH 近似匹配

有些场景下我们需要在 Excel 中查找近似匹配值,比如评估员工绩效、学生分数分级,以及根据重量计算邮费等。在本教程中,将介绍如何使用 INDEX 和 MATCH 函数获取所需结果。

多条件查找最接近的匹配值

在某些情况下,您可能需要基于多个条件查找最接近或近似匹配的值。通过结合 INDEX、MATCH 及 IF 函数,您可以在 Excel 中快速实现。


这款最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于数据分析的变革创新智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮显示或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 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 般的便捷体验。