Excel如何在指定区域查找值并返回对应行A列的匹配结果
多区域查找匹配对应行A列值公式方案
适用前提:数据检索范围为B2:D6,该区域内无重复值,A列允许存在重复值,匹配到目标值后返回目标值所在行对应A列的单元格内容。
全版本兼容公式(支持所有Excel版本、WPS表格,无需数组三键回车)
假设待检索的目标值存放在F1单元格,在结果单元格输入以下公式即可:=INDEX(A2:A6,SUMPRODUCT((B2:D6=F1)*ROW(B2:D6))-1)公式逻辑:通过
(B2:D6=F1)标记出目标值在检索区域的位置,匹配到值的位置记为1、其余位置记为0,和对应行号相乘后求和就能得到目标值所在的实际行号,减去1是为了对齐A2:A6区域的行偏移量,最终用INDEX提取对应位置的A列内容。
如果需要直接把检索目标写死在公式里,比如检索值为H,直接把公式里的F1替换为"H"即可,公式会直接返回预期结果23:=INDEX(A2:A6,SUMPRODUCT((B2:D6="H")*ROW(B2:D6))-1)新版Excel简化公式(适配Excel 365/2021及以上版本)
高版本Excel支持TOCOL、XLOOKUP函数,可以用更短的公式实现相同效果:=XLOOKUP(F1,TOCOL(B2:D6),A2:A6)公式逻辑:用TOCOL把B2:D6的多列数据拍平成一维列,再用XLOOKUP匹配目标值,返回对应行的A列内容即可。
注意:因为B2:D6区域不存在重复值,上述公式不会出现多结果匹配冲突,即使A列有重复值也不会影响返回结果的准确性。
内容的提问来源于stack exchange,提问作者Mahmoud
相关产品推荐
相关产品推荐

