スプレッドシート

スプレッドシートのRANK関数は何番目かを計算 | RANK.AVG

スプレッドシートのRANK関数

スプレッドシートのRANK関数とは

スプレッドシートでのRANK関数は、指定した値がデータ範囲内で何位になるかを表示する関数です。「=RANK(180,C2:C9)」のように記載します。似た関数に、同着の場合は同着の数値間の平均順位をとるRANK.AVG関数もあります。

シャワーズ

RANK.EQ関数という別の関数もありますが、できることはRANK関数と同じです!

RANK関数の構文

=RANK(値, データ, [降順])
  • 値:順位を特定したい数字
  • データ:「値」を含んでいる範囲
  • 降順:並び順を0か1で指定。デフォルトは0(任意)
    • 0:降順(大きい順に1,2,3…と並ぶ)
    • 1:昇順(小さい順に1,2,3…と並ぶ)

RANK関数の使い方

RANK関数は、「=RANK()」と入力して、かっこ内に判定したい数値、判定もとの範囲をまず入れます。画像の場合では「=RANK(180,C2:C9)」といれることで、「180」が「C2:C9」のなかで何番目に大きいかを算出してくれます。

反対に何番目に小さいかを出したい場合には、数値と範囲に加えて昇順を表す「1」を追記します。下図では「=RANK(10,C2:C11,1)」と入力することで、「10」が「C2:C11」のなかで何番目に小さいかを表示しています。

シャワーズ

ランキングは基本的に大きいものを表したいという立場に立つと、大きい順のときは気にせずでOK、小さい順のときだけ1をつけると覚えやすいです!

RANK関数のエラー・注意点

[#N/A!]RANK には有効な入力データがありません。

RANK関数での「[#N/A!]RANK には有効な入力データがありません。」というエラーは、「範囲」に「値」が含まれていない場合に遭遇します。

たとえば下図では「=RANK(170,C2:C9,1)」と入力していますが、C列に「170」という値がなくエラーになっています。

そのため、C列に含まれている「180」などに変更すれば解消できます。

RANK関数に似た関数

RANK.AVG関数

RANK.AVG関数はRANK関数同様に、指定された値が範囲内で何位になるかを計算する関数です。RANK.AVG関数はRANK関数の違いは、RANK関数が同着の場合に◯位タイとするのに対し、RANK.AVG関数は同着の順位間で平均して数値を出します。

たとえば下図では「184」が2位と3位にあたる位置にあるため、それぞれ次のように計算されます。

  • RANK関数:2位タイのため「2」
  • RANK.AVG関数:2位と3位にあたる位置にあるため平均して「2.5」

RANK.EQ関数

RANK.EQ関数とRANK関数の違いはありません。関数としては別の扱いですが、どちらを使っても同じ結果が表示されます。

最大値や最小値を求める関数

関数名概要
MAX関数範囲内から最大値を求める
MIN関数範囲内から最小値を求める
LARGE関数範囲内から◯番目に大きい値を求める
SMALL関数範囲内から◯番目に小さい値を求める