首页 > 解决方案 > 与多个输出的反向索引匹配

问题描述

给定一个如下所示的矩阵,我希望能够输入一个人的姓名并输出该人所在的每个组。

示例矩阵

我可以使用反向索引匹配查找,但不知道如何修改公式以生成有效的数组。我曾尝试使用 SMALL/LARGE 功能,但无法使其正常工作。

我的 CELL C15 配方是

=INDEX($C$2:$I$2,,MATCH("ü",INDEX($C$3:$I$12,MATCH($B$15,$B$3:$B$12$,0),),0))

有任何想法吗?

标签: excel

解决方案


在你的 C15 中使用这个公式并下拉直到你需要(用 ctrl+shift+enter 关闭)

=IFERROR(INDEX($C$2:$I$2,SMALL(IF(INDIRECT("C"&MATCH($B$15,B:B,0)&":I"&MATCH($B$15,B:B,0))<>"x",TRANSPOSE(ROW($1:$7)),""),ROW(A1))),"")

如果您需要得到相反的结果(按组列出人员)。做同样的事情:

=IFERROR(INDEX($B$3:$B$12,SMALL(IF(INDIRECT(ADDRESS(3,MATCH($B$15,$2:$2,0))&":"&ADDRESS(12,MATCH(B$15,$2:$2,0)))="v",ROW($1:$10),""),ROW(A1))),"")

推荐阅读