我有一个包含多列的数据表,我想要搜索 - 最后返回找到的列中的顶行值。这该怎么做?
我的想法是将索引与匹配结合起来,但我对于特定的想法感到很遗憾......
January February March April May June
1 2 3 4 5 6
7 8 9 10 11 12
2 7 1 8 4 5
9 10 11 12 6 3
E.g。搜索:ID 3 - 应该返回:3月,6月
此致
Nyborg
答案 0 :(得分:0)
您需要为每列添加VLOOKUP并在构建结果后生成 遵循该计划:
A7 -> =IF(IFERROR(VLOOKUP($A$9;A1:A5;1;);"")="";"";A1) and autocomplete
D9 -> =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(CONCATENATE(A7;",";B7;",";C7;",";D7;",";E7;",";F7);",,";",");",,";",");",,";",")
D10 -> =IF(RIGHT(D9;1)=",";LEFT(D9;LEN(D9)-1);D9)
D9& amp;的公式D10只能很好地显示结果。
更新版本: 考虑到您同意拥有第7行......您可以简单地使用结果公式:
=INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);1))&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);2));"")&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);3));"")
列表这是名称Range of Row 7.该公式应用Ctrl + Shift + Enter。
该公式收集前3个值
如果您想要更多,请为每个第n个值添加:
&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);3));"")
更改最后一个数字(在本例中为3)并放入4,5,6 ...
如果结果可以很多,那么很有意义...... 考虑使用VBA!