2016-01-20 66 views
0

我想開發一個公式來構建多個組內前5個標題/值的表格,最好不使用VBA。我附上了一個例子。由於我是這個論壇的新手,並且需要至少10個聲望點才能發佈圖片,因此我已將截圖上傳到:http://i.imgur.com/v1LAkYk.png *謝謝@Scott Craner將圖片添加到帖子中!提取沒有VBA的列表中每個組的前5個值

http://i.imgur.com/v1LAkYk.png.

我已經發現並審議了以下主題:Extracting top 5 maximum values (based on group) in excel。使用公式我能夠從整個列表中排除前5名,但我沒有能夠納入IF條款來按組排名。

預先感謝您的時間和考慮!如果我的要求不清楚和/或您有任何具體問題,請告訴我。感謝任何支持!

+0

Excel的哪個版本?你打算使用數據透視表還是數據表?公式方法可能會有點混亂,並將採用數組。 – JasonAizkalns

回答

1

試試這個:

=Large(If(C:C = "Group 1",A:A),Row(1:1)) 

這將進入第1個結果的右上角細胞(F3?)。它是一個數組公式,並且必須用Ctrl-Shift-Enter確認。

對於E3中的項目:

如果這些值是唯一的;沒有關係:

=INDEX(B:B,MATCH(F3,IF(C:C = "GROUP 1",A:A),0)) 

如果有可能性,那麼它會變得更復雜一點。

=INDEX(B:B,MATCH(1,IF(C:C = "GROUP 1",IF(A:A = F3,IF(COUNTIF(B:B,$E$2:$E2) = 0,1,0),0),0),0)) 

兩者都是數組公式,必須用Ctrl-Shift-Enter確認。然後複製下來。

注意:這些數組公式將迭代整個列,這將需要時間。將整列範圍限制爲實際的絕對數據範圍將是有利的。例如,如果1000是最後一行,請將C:C更改爲$ C $ 3:$ C $ 1000。


有關數組公式的更多信息,請參見THIS

+0

非常感謝 - 每個值都是獨一無二的!你將如何去取得冠軍(即Orange,Kiwis等)? – ndnathan

+0

鑑於您必須按[Ctrl-Shift-Enter]來刷新表格,我擔心該表格不會隨着基礎列表數據更改而自動更新。情況會是這樣嗎? – ndnathan

+0

@ndnathan不,ctrl shift輸入只告訴excel它是一個數組,你只做一次。你會複製並粘貼公式欄中的公式,然後按Ctrl-Shift-Enter而不是輸入。它會隨着數據的變化而更新。 –

相關問題