Excel 2016中通过匹配二维数组值提取查找值的简化方案
在Excel 2016中简化二维数组匹配提取公式的方法
可以实现,以下是两种Excel 2016支持的非嵌套简化方案,无需手动逐个列嵌套MATCH:
方案1:SUMPRODUCT结合INDEX(无需数组公式确认)
公式:
=IFERROR(INDEX(LookupTab!$A:$A, SUMPRODUCT(ROW(LookupTab!$B$2:$Z$99)*(LookupTab!$B$2:$Z$99=$A2))), "")
原理:
SUMPRODUCT遍历指定的二维匹配区域(LookupTab!$B$2:$Z$99),当单元格值等于当前查找值$A2时返回对应行号,否则返回0;最终求和结果即为匹配值所在行号(要求查找值在区域中唯一)。INDEX根据行号提取LookupTab工作表A列的对应值,IFERROR处理无匹配的情况,返回空值。
方案2:数组公式(返回第一个匹配结果)
如果查找值可能重复,需要返回第一个出现的结果,可使用以下数组公式(输入后需按Ctrl+Shift+Enter确认):
=IFERROR(INDEX(LookupTab!$A:$A, MIN(IF(LookupTab!$B$2:$Z$99=$A2, ROW(LookupTab!$B$2:$Z$99), ""))), "")
原理:
IF函数生成一个数组,匹配$A2的单元格返回对应行号,不匹配的返回空值。MIN提取数组中的最小行号(即第一个匹配的行),再通过INDEX提取对应A列值。
通用调整:
两种方案中,LookupTab!$B$2:$Z$99可根据实际数据范围修改列边界(比如扩展到$B$2:$AA$99),无需修改公式结构,适配任意列数的二维匹配区域。
内容的提问来源于stack exchange,提问作者pps
相关产品推荐
相关产品推荐

