教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Excel2010-2016:配列数式でRANK関数を使える?

 

 

 

 


 

 

 

 

「配列数式でRank関数を使いたい」「特定の種類の順位を出したい」といったご質問をいただくことがあります。

配列数式ではRank関数は使えません。特定の種類の順位を配列数式で出したい場合は次の方法で行います。(関連QA:配列数式とは

 

■ 例:学年ごとに順位を出したい

 

C列に学年ごとの順位を一括で出すには次の配列数式を入力します。

 

{=SUM(IF(A2=$A$2:$A$15,IF(B2<$B$2:$B$15,1,0)))+1}

 

A2がA2~A15と同じなら(同じ学年のみの配列を抜き出し)、B2が配列の各値より小さいなら1(0,1,1,1)としてこれを加算(小さければ順位が下がる)し、最後に1を足す(1位は全て0なので(各値より小さくない)合計0になってしまうため、+1で順位を出す)

 

 解説

 

 

補足

  • 今回は点数なので降順で出します(数が多い方が上位)よって範囲より小さいなら1、そうでないなら0を合計します(→小さい方が合計数が多い=順位が低い)

  • 昇順で出す(判定が小さい方が上位)場合は範囲より大きいなら1、そうでないなら0で合計します。

 

 

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows