【Excel関数小技】RANK関数と便利な関数5選!売上・成績の順位を簡単に算出する方法と応用を解説
データベースを数多く取り扱っているビデオリサーチでは、日々データの収集や分析・解析業務を行っています。その際に欠かせないのがExcel(エクセル)です。データを扱いやすい形に整える作業はとても大事で効率的に進めたいものです。このシリーズでは、当社の日々の業務で使用している【エクセル関数】を使った『小技』を紹介します。
今回ピックアップするのは「順位付けに便利なExcel関数」です。
売上ランキングを集計したい、アクセス数の多いページを一覧化したい、在庫数が少ない順に順位を算出したい......。日々の業務の中で、こうした「順位付け」が必要となる場面は少なくありません。
本記事では、基本のRANK関数をはじめ、MAX関数・MIN関数、さらにSMALL関数・LARGE関数の使い方や、実践的な活用例についてわかりやすくご紹介します。
1. RANK関数とは?:基本の使い方
=RANK(B2, $B$2:$B$5, 0)
=セルB2はB2~B5の中で何番目に順位が高いかを調べる
=RANK(数値,範囲,順序)
数値には、順位を調べたい対象の値を入力します。
たとえば、売上額の順位を調べたい場合は、その売上額が入っているセル(例:B2など)を選択します。
つまり、「どの製品の売上が多いのかを把握したい」といった場合に、順位を調べたい売上額を選びます。
範囲には、順位を比較したい全体のデータの範囲を入力します。
たとえば、売上額が「B2」から「B5」までのセルに入っている場合は、「$B$2:$B$5」のように入力します。
この範囲指定により、「この商品の売上が全体の中でどのくらい多いのか(または少ないのか)」を比較できます。
また、関数を下の行にコピーして使うとき、範囲が相対参照(B2:B5)のままだと、コピー先に応じて範囲がずれてしまい、正しく順位を出せなくなる恐れがあります。
そのため、範囲は「$B$2:$B$5」のように「絶対参照($マークで固定)」にしておくことがポイントです。
順序には、順位の付け方を指定します。
数値が大きいほうが上位になる(降順)場合は「0」または省略、
数値が小さいほうが上位になる(昇順)場合は「1」を入力します。
2. RANK関数の活用例:在庫数が少ない順に順位を算出してみよう
=RANK(B2, $B$2:$B$5, 1)
=セルB2はB2~B5の中で少ない順に並べたとき、何位なのかを調べる
RANK関数は、同じ数値があった場合に「同じ順位」となります。
例えば、在庫数が12個の製品が2つあった場合(B3、B4)、どちらも「1位」(C3、C4)になります。
その次の順位は「3位」(C2)となり、「2位」は飛ばされるので注意しましょう。
〇ポイント
RANK関数は、セルの並び順には影響されず、「数値の大きさ」で順位を決めます。
つまり、表の順番を変えただけでは順位は自動で変わりません。
順位は関数が自動的に計算して表示するため、「並べ替え」と「順位付け」は別の作業だと理解しておきましょう。
3. 応用編①:MAX関数・MIN関数で最大値・最小値を算出する方法
=MAX(範囲)
=指定範囲の中から最大値を取得
=MIN(範囲)
=指定範囲の中から最小値を取得
MAX関数・MIN関数は、範囲内の「最大値」や「最小値」を求めることができる関数です。
たとえば、「一番売上が高い金額はいくら?」「最短作業時間は?」といった疑問に対し、ピボットテーブルなどを使わずに簡単に答えを得られるため、日々の業務で手早く確認したいときに便利です。
=IF(B2=MAX($B$2:$B$6), "★", "")
=セルB2はB2~B6の中で一番時間がかかった作業に印を付ける
社内のタスク作業時間(B列)の最長作業時間に印をつけて目立たせたい場合は、IF関数 と組み合わせると効果的です。
この方法はピボットテーブルなどを使わず、シンプルに知りたい最大・最小を表示したいときに役立ちます。
反対に最短作業時間に「★」と入力したい場合は、
=IF(B2=MIN($B$2:$B$6), "★", "")となります。
IF関数とは、「もし条件に合えば〇、合わなければ▲」というように、結果を出し分けるための関数です。この事例では、「もしセルB2の値が、B2〜B6の中で一番時間がかかった作業なら★、そうでなければ空欄にする」という条件分岐を作ることができます。
<IF関数についてはこちら>
【Excel関数小技】特定セルの文字数をカウントするには? ―文字数制限オーバーのセルを見つけ出す方法
4. 応用編②:SMALL関数・LARGE関数で特定順位の値を算出する方法
=SMALL (範囲, 順位)
→指定範囲内から●番目に小さい値を返す
=LARGE (範囲, 順位)
→指定範囲内から●番目に大きい値を返す
SMALL関数・LARGE関数は、それぞれ「範囲内で○番目に小さい値」「○番目に大きい値」を抽出できる関数です。
例えば、「売上が3番目に多い商品はいくら?」「作業時間が2番目に長いタスクは何?」といった疑問を解決します。
=SMALL(IF($C$2:$C$11="東京", $B$2:$B$11), 3)
=セルC2~C11で「東京」と記載のある行を対象に、B2~B11の中で3番目に低い売上額を調べる
応用として、東京エリアの売上の中で3番目に低い売上額を調べます。
C列の地域が「東京」の場合、範囲(C2:C11)の中から「東京」のデータだけを抽出し、その該当する売上額(B2:B11)の中で何番目に低い売上額かを調べます。
データの中で「東京」地域の売上は、表の上からB列120,130,140,160,105 (万円)なので3番目に低い売上額は130(万円)となります。
このように特定の条件に該当するデータだけを対象に順位を調べることで、全体の中から必要な部分のランキングや傾向を効率よく把握できます。
いかがでしたか?
今回は「順位付けに便利なExcel関数」についてご紹介しました。
関数には無限の組み合わせや使い方があり、今回紹介した例はその一例にすぎません。
本連載は今後も不定期で更新予定です。日々の業務の効率化にお役立ていただけましたら幸いです。