EXCEL公式 如何从多个行的数据中查找对应的每个数据?

如图,如果要查找的行数据有5个同样的值,但每个对应的第一行数据不同,怎样用公式全部显示出来?有难度,高手指点!!谢谢

补充说明:图片中的查询E 42可以找到5个结果,是一个举例,这是第6行数据,公式需要考虑到第5行、第4行....第1行的情况。

    不知这样是否可以:

    =TEXTJOIN(",",1,IF(OFFSET($A$1,MATCH(O2,A$2:A$6,),1,,COLUMNS(B:M))=P2,B$1:M$1,""))

    数组公式,按ctrl+shift+enter产生花括号。

    如图所示:

追问

我这边计算结果是:#NAME?
还是不行,最好是能够分别列出....谢谢,请再研究研究

追答

你的软件版本太低,不支持textjoin,安装新版支持。

=IFERROR(INDEX($B$1:$M$1,SMALL(IF(OFFSET($A$1,MATCH(O$2,A$2:A$6,),1,,COLUMNS(B:M))=P$2,COLUMN(B:M),9^9),ROW($A1))),"")

追问

Office中没有TEXTJOIN公式,这应该是自定义的公式吧,请净量不要自定义公式,用Excel通用的公式...谢谢

追答

TEXTJOIN非自定义函数,新版支持。

追问

=IFERROR(INDEX($B$1:$M$1,SMALL(IF(OFFSET($A$1,MATCH(O$2,A$2:A$6,),1,,COLUMNS(B:M))=P$2,COLUMN(B:M),9^9),ROW($A1))),"")
两个问题:
1.加花括号后,这个公式计算偏移一个行,请帮忙修改一下。谢谢!
2.还有一个问题就是B列数据符合条件时,无法显示B列第一行的数据结果。请帮忙修改一下

追答

=IFERROR(INDEX($A$1:$M$1,SMALL(IF(OFFSET($A$1,MATCH(O$2,A$2:A$6,),1,,COLUMNS(B:M))=P$2,COLUMN(B:M),9^9),ROW($A1))),"")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-14
输入
=INDEX(A1:G10,MATCH(10,A1:A10,0),MATCH(25,A1:G1,0))
公式表示:在A1:G10数据区域,查找10所在行,25所在列,交叉单元格的值。追问

请看图,第六行是要查询的数据,查询的结果在第一行,这个公式不能计算结果。同理,如果查询数据在第5行,其结果也在第一行中....同理第3行数据......请再研究一下。

第2个回答  2019-09-14
如果只是想用在表格中显示不同的话 可以用条件格式下的突出显示规则-等于42
相似回答