Excel中按分類進行排名的公式解析 - GetIt01

文章推薦指數: 80 %
投票人數:10人

在Excel中,說起排名首先想到的就是RANK函數,對於大多數問題,RANK函數都可以解決,但是還有些時候,我們是需要按照某種分類(或者說是條件)來進行分類排名... 標籤:Excel公式分類排名解析 Excel中按分類進行排名的公式解析 08-06 在Excel中,說起排名首先想到的就是RANK函數,對於大多數問題,RANK函數都可以解決,但是還有些時候,我們是需要按照某種分類(或者說是條件)來進行分類排名,如下圖的例子:c列的排名不是針對於全部內容的,而是根據相應的部門來進行排名,那麼rank函數就無法滿足需求,此時需要利用其他方法實現按條件進行排名。

通常這類問題可以使用SUMPRODUCT函數來解決,我們看d列的公式: =SUMPRODUCT(($B$2:$B$25=B2)*($C$2:$C$25>C2))1下面就來對這個公式進行分析:先來看這部分($B$2:$B$25=B2),這裡用了一個等式來判斷整個部門所在的內容是否與當前行所在的部門一致,會得到一組邏輯值,使用f9來把這一段的結果顯示出來,如下圖:通過這個條件,實際上就相當於進行了一次篩選,把和當前行同部門的數據都挑出來了(顯示為TRUE的位置)。

再看第二個判斷($C$2:$C$25>C2),這是一個比較大小的判斷,用來判斷需要排名次的全部數據是否比當前值大,同樣我們可以用f9顯示出來,如圖:當前值是8849,可以發現大於8849的位置都是TRUE。

此時兩個條件都已經有所體現了,接下來用就是兩個條件得到的數組相乘,也就是對進行了部門篩選的數據再進行比大小,可以繼續使用f9來看計算結果:邏輯值經過了乘法運算,全部變成了數字,只有1和0,讓我們看起來也容易了許多,這部分結果的意思就是部門1里大於8849的都標註為1,而不是部門1的,都不參與比較了。

到這一步,結果顯而易見了,使用SUMPRODUCT對於這個數組進行求和,結果是4,也就是比8849大的有4個數據,那麼8849自然就排第五了,所以最後加1作為結束。

本例已經用到了一些數組的知識,有興趣的朋友可以參考之前的文章:數組的計算原理。

如果還是無法理解,也不必糾結,能夠靈活套用這個公式也就夠了。

有任何疑問歡迎加qq群交流:EXCEL基礎學習群259921244你們最想了解和掌握的Excel技能有哪些?請在留言區告訴我們。

推薦閱讀: ※Excel小妙招:如何快速地輸入日期和時間?※Excel|DATEDIF函數按年、月、天精確計算員工工齡※Excel※Excel函數之Offset※最實用的Excel技巧,不看後悔 TAG:分類|公式|排名|Excel|解析| 一點新知 GetIt01



請為這篇文章評分?