この記事では、Excelを使用する際に活用できるRank関数について詳しく解説します。
ExcelのRANK関数とは?
ExcelのRANK関数は、指定した数値が並んでいる数列において、その数値が何番目に大きいかを示すランクを返す関数です。この関数は、第1引数に数値、第2引数に数列、第3引数に並べ替え順(省略可能)を指定します。
例:=RANK(A2, A2:A10, 1) A2がA2:A10内で何番目に大きいかを返す。
RANK.EQ関数とRANK.AVG関数とは?
ExcelのRANK.EQ関数は、指定した数値が並んでいる数列において、その数値が何番目に大きいかを示すランクを返す関数です。この関数は、第1引数に数値、第2引数に数列、第3引数に並べ替え順(省略可能)を指定します。
- RANK.EQ関数は、同じ値が複数ある場合に、それらの値に対して同じランクを返します。
- ExcelのRANK.AVG関数は、指定した数値が並んでいる数列において、その数値が何番目に大きいかを示すランクを返す関数です。この関数は、第1引数に数値、第2引数に数列、第3引数に並べ替え順(省略可能)を指定します。
- RANK.AVG関数は、同じ値が複数ある場合に、それらの値に対して平均的なランクを返します。
RANK.EQ関数とRANK.AVG関数は、同じ値が複数ある場合に、それらの値に対するランクの扱い方が異なります。
Rank関数を使用して順位をつける方法
Excelで順位をつけるには、「RANK」関数を使用します。「RANK」関数は、指定した数値のランク(順位)を算出するために使用されます。
使用方法:RANK(数値, 配列, 順位の方向)
例:A1セルに10が入っているとき。 =RANK(A1,A1:A10,0)
これで、配列A1:A10内でA1セルの10が何番目に大きいかが表示されます。
順位の方向は、0なら降順(大きい順)、1なら昇順(小さい順)。
Excelの「RANK」関数の使用例
Excelの「RANK」関数を使用した使用例は以下となります。
例1:A列に数値が入っているとき
=RANK(A1,A1:A10,0)
これはA列の1行目のセルに入っている数値がA列1~10行目の中で何番目に大きいかを表示します。
例2:A列に名前、B列にスコアが入っているとき
=RANK(B1,B1:B10,0)
これはA列の1行目のセルに入っている名前のスコアがB列1~10行目の中で何番目に高いかを表示します。
例3:A列に名前、B列にスコアが入っているとき
=RANK(B1,B1:B10,1)
これはA列の1行目のセルに入っている名前のスコアがB列1~10行目の中で何番目に低いかを表示します。
これらの例では、配列を指定していますが、配列を指定する代わりにデータの全体を指定することもできます。
例: =RANK(B1,$B$1:$B$10,0)
これらの例はあくまで参考になるだけで、実際にはデータやシート名に合わせて調整する必要があります。
ExcelのRANK関数で昇順(小さい順)で順位をつける方法
Excelの「RANK」関数で昇順(小さい順)で順位をつけるには、「RANK」関数の第3引数に1を指定します。
例:A1セルに10が入っているとき
=RANK(A1,A1:A10,1)
これで、配列A1:A10内でA1セルの10が何番目に小さいかが表示されます。
RANK関数の第3引数が0(デフォルト)なら降順(大きい順)、1なら昇順(小さい順)。
例2:A列に名前、B列にスコアが入っているとき
=RANK(B1,B1:B10,1)
これはA列の1行目のセルに入っている名前のスコアがB列1~10行目の中で何番目に低いかを表示します。
上記の例では、配列を指定していますが、配列を指定する代わりにデータの全体を指定することもできます。
例: =RANK(B1,$B$1:$B$10,1)
これらの例はあくまで参考になるだけで、実際にはデータやシート名に合わせて調整する必要があります。
RANK関数を使用した後、順位に沿って並び替えたい時はどうすればいい?
ExcelのRANK関数を使用して、数列に対するランクを取得した後、順位で並び替えを行うには、次のようにします。
- ランクを取得したセルと、並べ替え対象となるセルを結合した列を新しく作成します。
- 新しく作成した列を基準にして、数値の昇順または降順に並び替えます。
例えば、A列に数値、B列にRANK関数の結果が入っているとします。このとき、A列を基準に順位で昇順に並び替えるには、次の手順を踏みます。
- A列とB列を結合し、C列を新しく作成します。
- C列を基準にして、数値の昇順に並び替えます。
上記のように、ランクを取得したセルと、並べ替え対象となるセルを結合した列を新しく作成し、新しく作成した列を基準にして並べ替えを行うことで、順位で並び替えを行うことができます。
Excelの「RANK」関数で順位が同点だった場合どうなる?
Excelの「RANK」関数で順位が同点だった場合、同点のデータには同じ順位が割り当てられます。
例:A列に数値が入っているとき
A1: 10
A2: 20
A3: 30
A4: 30
A5: 20
=RANK(A4,A1:A5,0)
A4のセルに30が入っているので、A1:A5の中で4番目に大きいと判断され、そのために順位は4になります。
=RANK(A5,A1:A5,0)
A5のセルに20が入っているので、A1:A5の中で2番目に大きいと判断され、そのために順位は2になります。
同じ順位を持つデータが複数ある場合、「RANK」関数は、最初に見つかったデータに対して順位を割り当て、次に見つかったデータにはその順位に加え1を加えた順位を割り当てます。
上記の例では、配列を指定していますが、配列を指定する代わりにデータの全体を指定することもできます。
例: =RANK(A4,$A$1:$A$5,0)
これらの例はあくまで参考になるだけで、実際にはデータやシート名に合わせて調整する必要があります。
ExcelのRANK.AVG関数で同順位だった場合はどうなる?
ExcelのRANK.AVG関数で同順位だった場合は、それらの値に対して平均的なランクが返されます。
例えば、以下のような数列があった場合を考えます。
数値
10
20
30
30
40
この場合、数値が30のセルに対してRANK.AVG関数を実行すると、第4セルと第5セルのランクは4.5になります。
また、RANK.AVG関数によって返されるランクは、小数になる可能性があるので、最終的に順位で並べ替えをする場合は、整数に丸める処理をする必要があることも要注意です。
以上、RANK.AVG関数で同順位だった場合の処理について説明しました。
Excelの「RANK」関数を使用する際の注意点は?
Excelの「RANK」関数を使用する際の注意点は以下のとおりです。
- 順位の方向 :「RANK」関数の第3引数に0を指定すると降順(大きい順)、1を指定すると昇順(小さい順)になります。
- 同点の場合の順位 :「RANK」関数は同点のデータには同じ順位を割り当てます。
- 数値以外の値 :「RANK」関数は数値以外の値(文字列やブール値など)には適用できません。
- 配列の範囲 :「RANK」関数の第2引数に指定する配列の範囲は、数値が入っているセルをすべて含んでいる必要があります。
- 複数の値 :「RANK」関数は1つの値に対して1つの順位を返すので、複数の値に対して順位をつける場合は、複数回「RANK」関数を使用する必要があります。
- 使用範囲 :「RANK」関数はExcelのワークシート上で使用できます。
引数に配列を指定する場合、配列には数値型のデータが入っている必要があります。
空白セルを含む配列を指定する場合、空白セルは無視されます。
これらの注意点を理解して使用することで、「RANK」関数を正しく使用することができます。
Excelの「RANK」関数以外に順位をつける方法はある?
Excelで順位をつける方法には、「RANK」関数以外にも以下の方法があります。
- 「RANK.AVG」関数を使用する :「RANK」関数と同様に使用しますが、同点の場合には平均順位が割り当てられます。
- 「DENSE RANK」関数を使用する :「RANK」関数と同様に使用しますが、同点の場合にはそのデータが前にいるデータの順位に加え1を加えた順位が割り当てられます。
- 関数ではなく、「数値の大小」を基準にして順位をつける :「数値の大小」を基準にして順位をつけるには、「IF」関数を使用します。
- 「LARGE」関数と「COUNTIF」関数を組み合わせる :
=COUNTIF(A1:A10,”<“&A1)+1
上記のように、「LARGE」関数と「COUNTIF」関数を組み合わせることで、順位をつけることができます。
- スクリプトを使用する : VBAを使ってマクロを作成することで、順位をつけることができます。
これらの方法は「RANK」関数とは異なる結果を示すので、使用目的や要件に合わせて適切な方法を選択してください。
Excelの「RANK」関数の仕事での活用例は?
Excelの「RANK」関数は、数列に対する順位を取得するために使用することができます。そのため、様々な用途で活用することができます。
- データ分析 : 数値の大小関係を評価したい場合に、順位を使用してデータを評価することができます。
- コンテストや競技会の結果 : 参加者のスコアやタイムなどを順位付けして、順位を決定することができます。
- 銀行や保険会社などの金融機関での信用ランク : 企業や個人の信用ランクを決定するために、財務データなどを順位付けします。
- 市場調査 : 消費者が購入する製品やサービスの順位付けを行うことで、市場のニーズを把握します。
以上、Excelの「RANK」関数が活用できる業務の例を紹介しました。Rank関数は、データを整理し、評価する上で便利な関数です。
PC関係のことならなんでも大好き。自身が学んだことや効率化のためのお役立ち情報を更新します。