2014-07-09 39 views
0

我有一個數據表,包含多列,我想要搜索 - 最後返回找到的列中的最高行值。這個怎麼做?Excel - 多列中的查找值

我的想法是將指數與比賽相結合,但我寧願失去了具體的想法...

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 

例如搜索:ID 3 - 應該返回:三月,六月

問候,

尼堡

+0

我建議你在VBA上有這個功能,我想不出用excel公式做到這一點。您可能需要查看一個教程,其中介紹了基本知識,例如如果您不熟悉的話,如何遍歷一系列單元格。 – ChrisProsser

+0

共12列,還是更多? 「三月,六月」在一個單元格中? – pnuts

回答

0

您需要添加一個VLOOKUP爲每列和構建後的結果
繼方案:

enter image description here

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 & D1 0只能很好地顯示結果。

更新版本: 考慮您同意有7行...您可以simplyfy使用結果的公式:

=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));"") 

列表這行7.公式的名稱範圍應按Ctrl + Shift + Enter應用。
該公式收集前3個值。
如果你想要更多,加入的每個第n值您有:

&IFERROR(", " & INDEX(List;SMALL(IF(List<>"";COLUMN(List)-MIN(COLUMN(List))+1);3));"") 

改變最後NUMER(在本例中3),並把4,5,6 ...
Obviusly如果結果可以很多,沒有什麼意義... 考慮使用VBA!

+0

不錯的代碼。但是,我的數據表中有50多列,我想通過使用「簡單高級」公式來避免VBA。因此,我正在尋找一種方法來查看/搜索多個(2+)列並返回等效標題。 – user1732611