跳至主要内容

查找缺失值

Author: Amanda Li Last Modified: 2025-05-07

有时,您需要比较两个列表以检查列表A中的值是否存在于列表B中。例如,您有一个产品列表,并希望检查您的列表中的产品是否存在于供应商提供的产品列表中。为了完成此任务,我们在此列出了三种方法,您可以随意选择喜欢的方法。

find missing values 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("查找值",查找范围,0)),"缺失","已找到")

√ 注意:您可以根据需要更改“缺失”、“已找到”为任何其他值。

  • 查找值:MATCH用于检索其在查找范围中的位置的值(如果存在),或者返回#N/A错误(如果不存在)。这里指的是您列表中的产品。
  • 查找范围:查找值进行比较的单元格范围。这里指的是供应商的产品列表。

要找出您的列表中的所有产品是否都存在于供应商的列表中,请在单元格H6中复制或输入以下公式,然后按Enter键获取结果:

=IF(ISNA(MATCH(30002,$B$6:$B$10,0)),"缺失","已找到")

或者,使用单元格引用来使公式动态化:

=IF(ISNA(MATCH(G6,$B$6:$B$10,0)),"缺失","已找到")

√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。

find missing values 2

公式解释

这里我们以下面的公式为例:

=IF(ISNA(MATCH(G8,$B$6:$B$10,0)),"缺失","已找到")

  • MATCH(G8,$B$6:$B$10,0)匹配类型0强制MATCH函数返回一个数值,该数值指示3004(单元格G8中的值)在数组$B$6:$B$10中的第一个匹配项的位置。然而,在这种情况下,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)),"缺失","已找到")

√ 注意:您可以根据需要更改“缺失”、“已找到”为任何其他值。

  • 查找值:VLOOKUP用于检索其在查找范围中的位置的值(如果存在),或者返回#N/A错误(如果不存在)。这里指的是您列表中的产品。
  • 查找范围:查找值进行比较的单元格范围。这里指的是供应商的产品列表。

要找出您的列表中的所有产品是否都存在于供应商的列表中,请在单元格H6中复制或输入以下公式,然后按Enter键获取结果:

=IF(ISNA(VLOOKUP(30002,$B$6:$B$10,1,FALSE)),"缺失","已找到")

或者,使用单元格引用来使公式动态化:

=IF(ISNA(VLOOKUP(G6,$B$6:$B$10,1,FALSE)),"缺失","已找到")

√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。

find missing values 3

公式解释

这里我们以下面的公式为例:

=IF(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"缺失","已找到")

  • 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
  • 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将其视为TURE;如果该值不在列表中,COUNTIF函数将返回0,而IF将其视为FALSE。

通用语法

=IF(COUNTIF("查找范围",查找值),"已找到","缺失")

√ 注意:您可以根据需要更改“已找到”、“缺失”为任何其他值。

  • 查找范围:查找值进行比较的单元格范围。这里指的是供应商的产品列表。
  • 查找值:COUNTIF用于返回其在查找范围中的出现次数的值。这里指的是您列表中的产品。

要找出您的列表中的所有产品是否都存在于供应商的列表中,请在单元格H6中复制或输入以下公式,然后按Enter键获取结果:

=IF(COUNTIF($B$6:$B$10,30002),"已找到","缺失")

或者,使用单元格引用来使公式动态化:

=IF(COUNTIF($B$6:$B$10,G6),"已找到","缺失")

√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。

find missing values 4

公式解释

这里我们以下面的公式为例:

=IF(COUNTIF($B$6:$B$10,G8),"已找到","缺失")

  • COUNTIF($B$6:$B$10,G8)COUNTIF函数计算3004(单元格G8中的值)在数组 $B$6:$B$10中出现的次数。显然,3004不存在于数组中,因此结果将是0
  • IF(COUNTIF($B$6:$B$10,G8),"已找到","缺失") = IF(0,"已找到","缺失"): IF函数将0评估为FALSE。因此,该公式将返回“缺失”,这是当第一个参数评估为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中实现这一点。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。