查找缺失值
有时,您需要比较两个列表以检查列表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)),"缺失","已找到")
√ 注意:您可以根据需要更改“缺失”、“已找到”为任何其他值。
- 查找值:MATCH用于检索其在查找范围中的位置的值(如果存在),或者返回#N/A错误(如果不存在)。这里指的是您列表中的产品。
- 查找范围:与查找值进行比较的单元格范围。这里指的是供应商的产品列表。
要找出您的列表中的所有产品是否都存在于供应商的列表中,请在单元格H6中复制或输入以下公式,然后按Enter键获取结果:
=IF(ISNA(MATCH(30002,$B$6:$B$10,0)),"缺失","已找到")
或者,使用单元格引用来使公式动态化:
=IF(ISNA(MATCH(G6,$B$6:$B$10,0)),"缺失","已找到")
√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。
公式解释
这里我们以下面的公式为例:
=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)),"缺失","已找到")
√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。
公式解释
这里我们以下面的公式为例:
=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),"已找到","缺失")
√ 注意:上面的美元符号($)表示绝对引用,这意味着当您将公式移动或复制到其他单元格时,公式中的查找范围不会改变。但是,由于您希望查找值是动态的,因此没有添加美元符号。输入公式后,向下拖动填充柄以将公式应用到下方的单元格。
公式解释
这里我们以下面的公式为例:
=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时返回的值。
相关函数
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个 插入 工具(插入二维码,从路径插入图片 ...) | 12个 转换 工具(小写金额转大写,汇率转换 ...) | 7个 合并与拆分 工具(高级合并行,分割Excel单元格 ...) | ... 还有更多 |
Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...
Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑
- 一秒内切换数十个打开的文档!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,您的工作效率将提高50%。
- 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。