[英]Using INDEX/MATCH to get a mutiple answers. How do I get the Tier Column to be resulted as Ideal Column?
[英]I came across this question and the answers. I'm having similar challenge but i tried the answer to non-365 office users but could not get it
這個數據集如下。 它有 3 列(PTQ、% 增長、$ 增長),所有這些列都需要單獨排名,然后匯總,然后再次排名每個區域的總功率排名。 有什么辦法可以用一個公式做到這一點? 我經常這樣做,不必每次都單獨對所有內容進行排名會很好。
澄清一下,我不想在一個列上排名第一,然后在另一列上排名第一,它們都需要平等地排列在一起。
數據:
地區 | PTQ | % 生長 | $ 增長 |
---|---|---|---|
亞利桑那州 | 103 | 17.5 | 201330 |
TR愛達荷州猶他州 | 75.5 | -6.3 | -69976 |
TR 拉夏威夷 | 99.4 | 19.2 | 194840 |
TR 拉北 | 125 | 32.7 | 241231 |
TR 北加州 | 102.3 | 26.2 | 308824 |
TR西北 | 91.1 | -0.6 | -4801 |
TR 舊金山 | 76.9 | -16.7 | -158387 |
TR 南加州 | 106.9 | 30.8 | 495722 |
TR圖森 | 100.3 | 7.6 | 34888 |
假設與 Pb 相同的布局,在I4
:
=1+SUMPRODUCT(N(MMULT(CHOOSE({1,2,3},RANK(C$4:C$12,C$4:C$12),RANK(D$4:D$12,D$4:D$12),RANK(E$4:E$12,E$4:E$12)),{1;1;1})<SUM(RANK(C4,C$4:C$12),RANK(D4,D$4:D$12),RANK(E4,E$4:E$12))))
並抄下來。
這在較舊的 Excel 中非常具有挑戰性,但仍有可能:
=IFERROR(
INDEX(
MMULT(--(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12)>=TRANSPOSE(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12))),ROW($C$4:$C$12)^0),ROW($A1))
-SUMPRODUCT(--(MMULT(--(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12)>=TRANSPOSE(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12))),ROW($C$4:$C$12)^0)
=INDEX(MMULT(--(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12)>=TRANSPOSE(RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12))),ROW($C$4:$C$12)^0),
ROW($A1))))+1
,"")
(需要使用ctrl+shift+enter
)
解釋:首先將3個排名之和組成一個數組: RANK($C$4:$C$12,$C$4:$C$12)+RANK($D$4:$D$12,$D$4:$D$12)+RANK($E$4:$E$12,$E$4:$E$12)
這會產生所謂的 Rank Sum - 數組。
然后 - 由於RANK
需要一個范圍,而不是數組,我們需要一個替代方法來創建數組的排名: MMULT
可以做到這一點。
MMULT(RankSum>=RankSum,ROW(RankSum)^0)
創建了一個排名 RankSum 的數組。 如果 2 排名相同 - 例如排名 1 - 它的排名均為 2,而不是 1。因此,我使用SUMPRODUCT
來計算計算的MMULT
-array 中等於索引MMULT
-array 結果的項目數,作為COUNTIF
的替代方案,這也僅限於采用范圍,而不是數組。 所以MMULTarray-SUMPRODUCT(--(MMULTarray=IndexedMMULTarray))
是你的最終結果。
計算基於您在B4:E12
中的數據,並且將上面的公式輸入(使用ctrl+shift+enter
)在第 4 行的單元格中並復制下來; 共享屏幕截圖中的I4
。
即使這個公式回答了你的問題,我懷疑這就是你認為的那樣。 將范圍更改為不同的范圍本身可能會很有趣。 並且手動計算排名並對它們進行求和/排名可能更容易維護。 您可以通過在范圍中添加 INDEX 來使其更具動態性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.