首先RANK函式是沒有辦法實現了,如果數值都是正值還好,0值排名最後,如果是正值負值都有,那就很麻煩了,今天介紹兩種簡單的排名方法,其實是一種,可以用兩個函式來實現。
這種排名方法,我們在學習Power Query排名的時候也用到過,就是:
計數+1法:統計比數值本身大的數值的個數然後加一
COUNTIFS
其實大部分排名問題都可以用這個方法來處理,說到計數,首先就是COUNTIFS,我們來看公式:
=IF(A2=0,"",COUNTIFS($A$2:$A$12,">"&A2,$A$2:$A$12,"<>0")+1)
用了兩個條件:
">"&A2
"<>0"
首先是大於10的數值列中沒有,結果就是0,0+1=1,10的排名就是1。
然後在外側巢狀一層IF,來排除0值。
SUMPRODUCT
SUMPRODUCT和SUM函式都能進行排名,如果用SUM就是陣列公式,要使用CTRL+SHIFT+ENTER三鍵,用SUMPRODUCT就能省略三鍵。
=IF(A2=0,"",SUMPRODUCT(($A$2:$A$12<>0)*($A$2:$A$12>A2)*1)+1)
同樣也是兩個條件:
($A$2:$A$12<>0)
($A$2:$A$12>A2)
*號連線是表示兩個條件同時成立,*1是把邏輯值轉換成數值。
同樣的寫法也可以換成SUM,我們來測試一下:
不同的就是外側的大括號,是透過三鍵來生成的
不管用那個函式來實現,這個排名的原理就是計數+1
首先RANK函式是沒有辦法實現了,如果數值都是正值還好,0值排名最後,如果是正值負值都有,那就很麻煩了,今天介紹兩種簡單的排名方法,其實是一種,可以用兩個函式來實現。
這種排名方法,我們在學習Power Query排名的時候也用到過,就是:
計數+1法:統計比數值本身大的數值的個數然後加一
COUNTIFS
其實大部分排名問題都可以用這個方法來處理,說到計數,首先就是COUNTIFS,我們來看公式:
=IF(A2=0,"",COUNTIFS($A$2:$A$12,">"&A2,$A$2:$A$12,"<>0")+1)
用了兩個條件:
">"&A2
"<>0"
首先是大於10的數值列中沒有,結果就是0,0+1=1,10的排名就是1。
然後在外側巢狀一層IF,來排除0值。
SUMPRODUCT
SUMPRODUCT和SUM函式都能進行排名,如果用SUM就是陣列公式,要使用CTRL+SHIFT+ENTER三鍵,用SUMPRODUCT就能省略三鍵。
=IF(A2=0,"",SUMPRODUCT(($A$2:$A$12<>0)*($A$2:$A$12>A2)*1)+1)
同樣也是兩個條件:
($A$2:$A$12<>0)
($A$2:$A$12>A2)
*號連線是表示兩個條件同時成立,*1是把邏輯值轉換成數值。
同樣的寫法也可以換成SUM,我們來測試一下:
不同的就是外側的大括號,是透過三鍵來生成的
不管用那個函式來實現,這個排名的原理就是計數+1