求Excel匹配取值公式:需兼顾存在与不存在的记录
Excel 匹配存在/不存在记录的公式解决方案
结合这类需求的常见场景,推测你是要从原始数据列中匹配目标列表的项,有对应记录就返回指定值,无匹配时返回自定义内容(比如“无记录”),以下是两种可行方案:
方案1:Excel 365/2021及以后版本(推荐)
用XLOOKUP函数,原生支持找不到匹配时返回指定内容,语法简洁直接:
=XLOOKUP(要匹配的单元格, 原始数据的查找列, 原始数据的返回列, "无记录")
举个实际例子:如果目标匹配值在F2单元格,原始数据的查找列是A列、返回列是B列,在F2输入公式后下拉填充即可:
=XLOOKUP(F2, A:A, B:B, "无记录")
方案2:Excel 2019及更早版本
用VLOOKUP搭配IFERROR来捕获无匹配的错误情况:
=IFERROR(VLOOKUP(要匹配的单元格, 原始数据区域, 返回列序号, FALSE), "无记录")
比如原始数据是A:B列,要匹配F2的值并返回B列内容,公式如下:
=IFERROR(VLOOKUP(F2, A:B, 2, FALSE), "无记录")
- 注意
VLOOKUP里的FALSE参数必须加,确保是精确匹配,避免返回近似值 IFERROR会把无匹配时出现的错误值替换成你需要的内容,比如“无记录”
为什么LOOKUP满足不了需求?
LOOKUP默认是近似匹配(要求数据提前排序),而且找不到匹配时会返回最后一个小于等于查找值的结果,没法直接识别“无记录”的情况,所以不适合你的场景。
内容的提问来源于stack exchange,提问作者Nelson Romero
相关产品推荐
相关产品推荐

