Excel不同行主副类别多条件查找函数实现方案咨询
Excel非对齐结构多条件查找实现方案
首先约定参数前提:原始数据主类别存放在A列,人员子类别存放在B列,qty数值存放在C列,待查询的主类别填入F1单元格,待查询的人员子类别填入F2单元格,每个主类别对应子类别最多占下方4行区间。
方案1:XLOOKUP实现(适用于Excel 365/2021及以后版本)
直接使用嵌套定位逻辑,公式如下:
=XLOOKUP(F2, INDEX(B:B, MATCH(F1,A:A,0)+1):INDEX(B:B, MATCH(F1,A:A,0)+4), INDEX(C:C, MATCH(F1,A:A,0)+1):INDEX(C:C, MATCH(F1,A:A,0)+4), "无匹配结果", 0)
方案2:INDEX/MATCH实现(兼容所有Excel版本)
适合低版本Excel使用,公式如下:
=IFERROR(INDEX(C:C, MATCH(F2, INDEX(B:B, MATCH(F1,A:A,0)+1):INDEX(B:B, MATCH(F1,A:A,0)+4), 0) + MATCH(F1,A:A,0)), "无匹配结果")
实现逻辑说明
- 内层
MATCH(F1,A:A,0)负责定位目标主类别的所在行号,记为主行号 - 通过
INDEX函数截取B、C列中主行号+1到主行号+4的区间,也就是该主类别对应的所有子类别和数值范围 - 在截取的子类别区间中匹配目标人员,匹配成功后返回同位置的qty数值即可
注意事项
如果你的实际业务中主类别对应的子类别行数不是固定4行,只要把公式中所有的+4调整为实际的最大行数即可。公式默认使用精确匹配,不需要额外调整匹配参数。
内容的提问来源于stack exchange,提问作者Geomariachi
相关产品推荐
相关产品推荐

