如图,如果要查找的行数据有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))),"")
请看图,第六行是要查询的数据,查询的结果在第一行,这个公式不能计算结果。同理,如果查询数据在第5行,其结果也在第一行中....同理第3行数据......请再研究一下。