使用excel批量求多個連續區域的排名,批量求資料的排名,比如A到I九行數為一天,排每一天的排名,如果是你要的,快來看看。
工具/原料
excel
方法/步驟
以下資料為模擬資料,在A列設定為任意日期,B列設定產品名稱,C列求排名的值,可自行隨意模擬:
【方法一:完整例子】在D列用函式COUNTIFS函式,計算產品(型別)在所有資料中依次出現的次數:=COUNTIFS($B$2:B2,B2)。完成後下拉填充函式,會出現按照日期的排列計數,如下圖:注意:此函式技巧在$B$2上,注意觀察變化。
為了方便大家學習,我將E列作為區域開始的列,F列作為區域結束的列。為什麼要這樣做?因為在使用rank函式排名的時候,會用到區域,現在做的事情,就是要做出這個區域來:
【Rank函式】使用的簡單舉例:=RANK(A2,$A$2:$A$6)。第一個引數:代表要參與排名的值,第二個引數代表該值在什麼區域內進行排名,第三個引數是可選,用來代表升降序選項;注意:第三步的區域,就是這裡的A2和A6,$符號代表固定單元格引用,下拉不發生變化。
現在構造E和F列:型別共9個(A-I),第一天21號(第一個區域)排序的區域是2-10,第二天22號(第二個區域)排序的區域是11-19,第三個區域依次類推,結合D列構造的輔助列,E列可構造成:=(D2-1)*9+2;F列可構造成:=D2*9+1
區域有了,在加上“INDIRECT”函式,就可以完成批量排名了:=RANK(C2,INDIRECT("c"&E2):INDIRECT("c"&F2),1)。
其他說明
INDIRECT函式可以將單元格引用,以字串的形式出現,比如=INDIRECT("B"&5),代表單元格B5;
【方法二】在構造步驟二,還可以用Mod函式:=MOD(ROW()-2,9):。
完成。
注意事項
希望對你有所幫助。