登場する数字に順位を付けてくれるRank関数(2010以降はRank.EQ関数)のご紹介です。
Rank関数の使い方
範囲内で何番目に大きいかを数値で返す
Rank(値,範囲,0)
Rank.EQ(値,範囲,0)
※最後の0を1にすると何番目に小さいかを返す
※Rank.EQ関数はバージョン2010から使用可能
Rank(値,範囲,0)
Rank.EQ(値,範囲,0)
※最後の0を1にすると何番目に小さいかを返す
※Rank.EQ関数はバージョン2010から使用可能

まず適当な数字を割り振ります。この右に数字の大きさのよる順位をつけたいと思います。

A2の値が、A2~A14の中で何番目に大きいかを調べて、これを右にあるB2に出力します。
B2に =Rank(A2,$A$2:$A$14,0) と入力します($を付けることでドラッグしても数字やアルファベットが変動しなくなります)。
B2に =Rank(A2,$A$2:$A$14,0) と入力します($を付けることでドラッグしても数字やアルファベットが変動しなくなります)。

オートフィルで下まで引っ張ると、上からそれぞれA2,A3..と隣の数字を参照している状態になります。
同じ数字には同じ順位が表示される点に注意してください。
同じ数字には同じ順位が表示される点に注意してください。

昇順で並べ替えてみるとこのように、同率順位がふたつある場合はその次の数字が空白となり、その後からふたたび順位付けが再開されることが確認できました。
最後の0は何か?
0の場合は数字の大きいものから順位がつきます(降順)。
つまり、68が1、40が2…と順位を付けていきます。
1の場合は数字の小さいものから順位がつきます(昇順)。
1に1がつき、ふたつある6がそれぞれ2、8が4…という具合に順位が付いていきます。
Rank関数とRank.EQ関数

2010以降ではRank.EQ関数が追加され、機能的にはRank関数と全く同じものとなっています。

本当はRank関数を使えなくしてRank.EQ関数だけにしたかったと思われますが、そうすると過去のバージョンで作ったファイルのRank関数は2010以降では全て修正しないと使えなくなるため、互換性のためにRank関数を残してある、という形です。
なのでこれから順位を求める場合、Rank.EQ関数を使うのが「正式」となります。Rank関数もまだ使えますけど、将来のバージョンではわかりません。
なのでこれから順位を求める場合、Rank.EQ関数を使うのが「正式」となります。Rank関数もまだ使えますけど、将来のバージョンではわかりません。

で、そもそもなんでRank.EQ関数を作ったかというと、Rank関数の種類が増えたからです。
Rank.AVG関数
範囲内で何番目に大きいかを数値で返す(同列の値は順位を平均値で返す)
Rank.AVG(値,範囲,0)
※最後の0を1にすると何番目に小さいかを返す
※バージョン2010から使用可能
Rank.AVG(値,範囲,0)
※最後の0を1にすると何番目に小さいかを返す
※バージョン2010から使用可能

Rank.AVG関数を使うと、基本機能は同じですが、同列〇位の値が平均値になります。

=Rank.AVG(A1,A$1:A$5,0)を下まで伸ばした例。Rank関数(Rank.EQ関数)では、「3」は同列4位として順位が「4」と表現されます。
これに対してRank.AVG関数では「4位と5位」なので、平均の「4.5」が順位として返される、という具合です。
これに対してRank.AVG関数では「4位と5位」なので、平均の「4.5」が順位として返される、という具合です。

Excel(エクセル):順位、最大値、最小値
Excelで表内の一番大きい数とか、何番目に小さい数とかそういった値を求める方法のまとめです。
値のランキング方法
もし値の入ったセルを大きい順/小さい順に並べ替える方法をお探しであれば、ソートの記事が参考になると思います。...
コメント