【Excel入門】【関数】RANK.EQ (ランクイコール)の使い方
どんな企業でも使っている表計算ソフトの『Excel』を使いこなして、自分の価値を高めようというシリーズです。
本日は『RANK.EQ (ランクイコール)』の使い方。
順位は他の方法でも求めることができるので、こんな関数もあるのかぁと頭の片隅で覚えておけばいいと思います。
RANK.EQ関数の式と解説
関数式
=RANK.EQ(数値,参照,順序)
3つの引数
数値:順位を調べるセル
参照:順位を調べるセル範囲 ※絶対参照に気を付けましょう。
順序:降順の場合「0」、昇順の場合「1」
解説
RANK.EQ関数は順位を調べたいときに使う関数です。
Excel2007以前は順位を求める関数としてRANK関数がありましたが、Excel2010からRANK.EQ関数に変わりました。
Excel2007以前で順位を求める→RANK関数
Excel2010以降で順位を求める→RANK.EQ関数
Excel2007以前をこれから使うことは少ないので、RANK.EQ関数を覚えておけばいいかと思います。
RANK.EQ関数の使用例
以下のような営業成績表があった場合の使用例。
合計列はSUM関数で求めます。
順位列は、RANK.EQ関数で求めます。
山田太郎の順位のセルの関数式は
『=RANK.EQ(E19,$E$19:$E$23,0)』となっています。
一つ目の引数「数値」は「E19」。2800が入力されているセル。
2つ目の引数「参照」は「$E$19:$E$23」。山田太郎~山田五郎までの合計値が入力されたセル範囲です。注意点は絶対参照になっていること。
3つめの引数「順序」は「0」。数値が大きいほうが1位なので、降順の「0」になっています。
同率順位の処理・同率順位をなくしたい
例では山田太郎と山田次郎が同率2位となりました。
同じ数値なので同率順位になるのは仕方がないことです。
同率順位をなくしたい場合は、どこかの値の優先度を高めて順位を求める方法があります。
例の場合では、6月に全他の成績が下がっています。同率の場合は6月に良い成績を上げた方が、上位にすると決めます。
評価用として新しい列を作成。『合計×1000+優先度の高い6月の営業成績』の値を入力。
順位についても、RANK.EQ関数で評価用の列を引数として求めました。
そうすることで、同率順位をなくすことができます。
「評価用」列にCONCATENATE関数を使う
評価用列に『合計×1000+優先度の高い6月の営業成績』の計算式を入力する以外の方法をご紹介します。
CONCATENATE関数、文字列を結合する関数です。
関数式:=CONCATENATE(文字列1,文字列2,文字列3,文字列4,・・・・・)
※今後は同じようなCONTACT関数を覚えておいた方がいいかもしれませんが、今回はCONCATENATE関数で案内します。
山田太郎の順位列には、「=RANK.EQ(G33,$G$33:$G$37,0)」と評価用の値から順位を求める式が入っています。
そして、山田太郎の評価用列には「=CONCATENATE(E33,D33)」と山田太郎の合計と6月の営業成績を文字列結合する式が入っています。
エラーとなっていますね。。。。。
それはCONCATENATE関数が文字列結合の関数だからです。
評価用の値を文字列から数値に変更する必要があります。
複数の文字列をまとめて数値に変更する方法
文字列→数値変換の方法はいろいろありますが、今回は「データ」タブの「区切り位置」を使った方法を案内します。
- 評価用の値を値貼り付けする。CONCATENATEの式でなく、値がセルに入ったが、それでも「#N/A」のエラー。
- 評価用のデータをすべて選択し、「区切り位置」を選択する
- 「区切り位置指定ウィザード 1/3」の「元のデータの形式」>「データのファイル形式を選択してください」で「カンマやタブなど区切り文字によってフィールドごとに区切られたデータ」を選択する
- 「区切り位置指定ウィザード 2/3」の「区切り文字」に「タブ」にチェックが入っている状態で、「次へ」を選択する
- 「区切り位置指定ウィザード 3/3」の「列のデータ形式」が「G/標準(G)」であることを確認し、「完了」を選択する
上記手順で順位が正常に表示されました。