複数の列を基に順位をつける(RANK系の関数)

複数の列を基に順位をつける手順

エクセルにおいて、RANK.EQ関数を用いて1つの列だけでなく、複数の列を基に順位をつける方法を解説します。具体的な例を使って説明しますので、ぜひ参考にしてみてください。

準備するデータ

以下のようなデータを用意しました。各社員の成約数(今月、先月、先々月)が記録されています。

社員番号 氏名 部署 今月成約数 先月成約数 先々月成約数
1 中島 亮介 人事部 2 0 2
2 岡田 淳 マーケティング部 0 6 0
3 橋本 明美 経理部 6 0 5
4 佐藤 花子 開発部 5 5 5
5 伊藤 直人 経理部 3 3 6
6 松本 舞 人事部 4 5 0
7 田中 健一 マーケティング部 4 1 4
8 加藤 陽子 営業部 0 6 1
9 高橋 あすか 経理部 6 5 3
10 斉藤 くみ子 営業部 2 5 6
11 長谷川 聡太郎 マーケティング部 3 4 3
12 橋本 健一 人事部 4 1 0
13 小川 直子 営業部 1 5 2
14 山下 京助 マーケティング部 0 0 1
15 伊藤 康弘 営業部 5 4 2

順位の計算

今月の成約数だけでなく、先月、先々月の成約数も考慮に入れて順位を計算します。そのために、まずは各月の成約数に重みをつけて、新たな列「重み付き成約数」を計算します。今回は、今月の成約数には100倍の重み、先月の成約数には1倍の重み、先々月の成約数には0.01倍の重みをつけてみます。

倍率は任意で設定してください。

さて、新しい列で以下のような計算式を用います。下段はG2セルに入力した具体例です。

= 100 * [今月の成約数] + 1 * [先月の成約数] + 0.01 *[先々月の成約数]

= 100 * D2 + 1 * E2 + 0.01 * F2

この計算式を使って「重み付き成約数」を計算します。

次に、新しい列でこの「重み付き成約数」を基に順位を計算します。エクセルのRANK.EQ関数を使います。以下のような計算式を用います。下段はH2セルに入力した具体例です。

= RANK.EQ([重み付き成約数], [重み付き成約数の範囲])

= RANK.EQ(G2,$G$2:$G$16)

これで、各社員の順位が複数の月の成約数を基に計算されます。

結果の確認

これらの計算式を使って計算を行った結果が以下の表です。

社員番号 氏名 部署 今月成約数 先月成約数 先々月成約数 重み付き成約数 順位
1 中島 亮介 人事部 2 0 2 200.02 11
2 岡田 淳 マーケティング部 0 6 0 6 14
3 橋本 明美 経理部 6 0 5 600.05 2
4 佐藤 花子 開発部 5 5 5 505.05 3
5 伊藤 直人 経理部 3 3 6 303.06 9
6 松本 舞 人事部 4 5 0 405 5
7 田中 健一 マーケティング部 4 1 4 401.04 6
8 加藤 陽子 営業部 0 6 1 6.01 13
9 高橋 あすか 経理部 6 5 3 605.03 1
10 斉藤 くみ子 営業部 2 5 6 205.06 10
11 長谷川 聡太郎 マーケティング部 3 4 3 304.03 8
12 橋本 健一 人事部 4 1 0 401 7
13 小川 直子 営業部 1 5 2 105.02 12
14 山下 京助 マーケティング部 0 0 1 0.01 15
15 伊藤 康弘 営業部 5 4 2 504.02 4

まとめ

以上、複数の列を基に順位をつける手順を解説しました。エクセルを使って複雑な順位の計算も可能です。ぜひ参考にしてみてください。

コメント

PAGE TOP
タイトルとURLをコピーしました