Excelでは、RANK.EQ関数を使うことで「上位○位で合格」を判定することができます。
RANK.EQ関数とは
RANK.EQ関数とは、指定した数値が範囲の中で何番目の大きさかの順位を表示させることができる関数です。
関数 | 役割 |
---|---|
RANK.EQ(数値,参照,[順序]) | 指定した「数値」が参照した範囲内で何番目の大きさかを示す。 順序では、「0」を指定すると降順(大きい順)、「1」を指定すると昇順(小さい順)の順位を示す。 |
たとえば、以下のようなテストの成績に基づき、それぞれの順位を出したいと思います。

まず、「田中 紘一」の順位を求めるため、セルD4に以下の数式を入力します。
=RANK.EQ(C4,$C$4:$C$13,0)

数式 | 役割 |
---|---|
RANK.EQ(C4 | セルC4の順位を求める。 |
$C$4:$C$13 | 順位を求める範囲はセルC4~C13。他の人も同じ範囲で順位を求めるため絶対参照とします。 |
0 | 順序は降順(大きい順) |
そうすると、以下のように「田中 紘一」の順位は5位であることがわかります。

セルD4の数式を下にコピーすれば、他の人の順位も表示されます。

「上位○位で合格」を判定する方法
次に「上位〇位で合格」を判定する方法を紹介します。
RANK.EQ関数で求めた順位を活用し、合否を判定します。

まず、合格順位を別のセルに記載しておきます。数式に直接入力しても良いのですが、合格順位を変更した際に数式も変更するのは手間なので、今回は参照する形式にしたいと思います。

「田中 紘一」の合否を判定するため、セルE4に以下のように数式を入力します。
=IF(D4<=$H$4,”合格”,”不合格”)

数式 | 役割 |
---|---|
IF(D4<=$H$4 | セルD4がセルH4以下かどうかを判定。今回は、「田中 紘一」の順位が4位以下かを判定する。 |
“合格” | セルD4がセルH4以下であれば、「合格」と表示する。 |
“不合格” | 上記以外の場合は不合格と表示する。 |
そうすると、「田中 紘一」は「不合格」と表示されます。「田中 紘一」の順位は5位なので、この判定は正しいことがわかります。

セルE4の数式を他の人のセルにもコピーすることで、「合格」「不合格」が表示されます。

なお、上記では順位を求める列と合否を判定する列を分けましたが、以下のように2つの数式を組み合わせることで、一つの列で合否を判定することも可能です。
=IF(RANK.EQ(C4,$C$4:$C$13,0)<=$G$4,”合格”,”不合格”)

このように関数を利用することで、点数が変更した場合も自動的に合否を判定することができます。
コメント