エクセルを使って、初心者もできる「ランキング表」の作り方を紹介します。
作り方はさまざまですが、このページでは
- ランキング表には「順位」「名前」「スコア」を掲載
- データベースに入力したデータを表に反映させる
- 【並び替え】を使用
- IF関数を使って反映させる
上記のポイントに沿った、半自動・半手動型の方法となっています。
それでは下図、
データベースに手入力した名前とスコアを元に、ランキング表を作ります。
IF関数を使ったランキング表を作成
①データベースから「名前」を表に反映させる
下図、まずはセルC2~C6に、C9~C13(データベース)へ手入力した「名前」を反映させていきます。
セルC2に、下記のIF関数を入力。
=IF(C9<>"",C9,"") ⇒IF(論理式,真の場合,偽の場合) 【この式の説明】 'もしセルC9が空白でないなら(⇒C9<>"")、セルC9の値を入力 '空白だったら空白(⇒"")のままにする
関数を入力したら、セルC6までオートフィル。
下図のようになり、この時点でデータベースに手入力した名前がすべて反映されるはずです。
ちなみに…名前を反映させるだけなら直接セル指定すればいいのでは?
例)セルC2に「=C9」と入力
となりますが、そうすると表がおかしくなります。
下図では、セルC6に空白のセルC13を指定していますが…

値「0」が返ってしまう
たとえば1位~5位までのランキング表なのに、対象が4名しかいない!
ということもあり得ます。
確実にランキング表が埋まるなら直接セルを指定してもよさそうですが…
そうでない場合も考えて、IF関数を使うのも1つの手段です。
②データベースから「スコア」を反映させる
次にスコア(点数など)を反映させます。
ここは先ほどの「名前」と同じ方法で関数を入力すればOK。
間違いがなければ、データベースに手入力したスコアがランキング表に反映されているはずです。
③データベースから「順位」を反映させる
最後に、ランキング表に欠かせない「順位」を適切にふれるようにしていきます。
順位をつけていくときにポイントになるのが「同点」です。
確実に1位、2位、3位、4位、5位となれば良いのですが、うまくいかないときもあります。
たとえば下図のように1位が2名いたり、他にも3位が3名いたり、全員1位だったりすることも考えられます。
それを踏まえてIF関数を入力していきましょう。

ランキング表に直接1、2、3、4、5と入力はできない
下図のようにします。
【1位のセル(B2)へ入力】 =IF(D2<>"",1,"") もしセルD2が空白ではなかったら(値があったら)、「1」を入力。 そうでなかったら(D2が空白だったら)、空白のままにする。
【2位から5位のセル(B3~B6)へ入力】 =IF(D3<D2,2,IF(D3=D2,B2,"")) =IF(D4<D3,3,IF(D4=D3,B3,"")) =IF(D5<D4,4,IF(D5=D4,B4,"")) =IF(D6<D5,5,IF(D6=D5,B5,""))
2位~5位のセルへ入力する式は、IF関数の中に、もう1つのIF関数が入ります。
2位のセル(B3)へ入力する文を見てみましょう。
=IF(D3<D2,2,IF(D3=D2,B2,"")) '「偽(そうでなければ)」のところにもう1つのIF関数を入れる
- セルD3のスコアがセルD2のスコアより低ければ、順位は「2」になる
- セルD3のスコアがセルD2のスコアと同じだったら、順位は「B2(=1)」になる
という意味になります。
【実践】ランキング表を作成
それでは、実際にランキング表を作成してみましょう。
まず、データベースへ無造作に名前とスコアを入力します。

鈴木さん(スコア60)が一番上にきている
次に[ホーム]⇒[並べ替えとフィルター]⇒[ユーザー設定の並べ替え]の順に選択
次の画面
[最優先されるキー]にスコアの入力された列を選択
[順序]を「大きい順」に選択し、[OK]を押します。
するとデータベースの並び替えがされ、ランキング表にもうまく反映されました。
下図ではスコア68の「柏木さん」「太田さん」の2名の順位に、同じ値がふられているのが分かります。

鈴木さん(スコア60)が一番下へ
試しにもう1つ、5名全員がスコア100だった場合はどうなるでしょうか?
数値を変えてみると…

全員が1位になっている
完成です!
※補足:順位で抜け番が出ないようにする
先ほど完成したランキング表では、順位づけは下図のように「抜け番」が出ます。
3位が2名いたら、その後の順位が4位ではなく5位になっていますね。

4位がない
これを、抜け番が出ないようにするには下図のように数式を変えます。
比較してみます。
抜け番ありの式(セルB3~B6)
=IF(D3<D2,2,IF(D3=D2,B2,"")) =IF(D4<D3,3,IF(D4=D3,B3,"")) =IF(D5<D4,4,IF(D5=D4,B4,"")) =IF(D6<D5,5,IF(D6=D5,B5,""))
抜け番なしの式(セルB3~B6)
=IF(D3<D2,B2+1,IF(D3=D2,B2,"")) =IF(D4<D3,B3+1,IF(D4=D3,B3,"")) =IF(D5<D4,B4+1,IF(D5=D4,B4,"")) =IF(D6<D5,B5+1,IF(D6=D5,B5,""))
数式を書き換えることで、抜け番が出ないようにすることができます。

3位の次が4位になった
ランキング表を作ってみましょう
以上でランキング表の作り方の紹介が終了です。
これができれば、以降はデータベースへの名前やスコアの手入力と、並び替えの操作だけで正確なランキング表ができあがります。
ぜひ試してみてくださいね。
お気軽にコメントどうぞ コメント欄がないとき⇒下にスクロール