データを並べ替えるには、ツールバーの「昇順で並べ替え」ボタンをクリックする。だが、ワークシート関数を組み合わせると、いちいちボタンをクリックしなくても常に並べ替えられた状態を表示することもできる。図1を例にして解説しよう。

 まずA列の左に新しい列を挿入する。表全体が右に移動するので、新A列にRANK関数を入力して得点の順位を求めよう(図2)。第1位の氏名を表示するセルF2には「=VLOOKUP(1,$A$2:$C$5,2,FALSE)」という式を入力する。これは、セル範囲A2:A5から「1」を検索して、見つかった場合は右隣のセルを返すというVLOOKUP関数だ。ただし、A列の順位は昇順に並んでいないので、VLOOKUP関数の4番目の引数に「FALSE」を指定しなければならない(図3)。

 セルF2を下方向にコピーしただけでは、すべてのセルで「1」を検索してしまう。そこで第2位は「2」、第3位は「3」を検索するように式を書き換える。これで順位で並べ替えられた氏名が表示される(図4)。得点も考え方は同じだ。VLOOKUP関数の第3引数を「3」に書き換えればいい。最後にA列を非表示にしておしまい(図5)。

 ただし、この方法では同点が複数あったときに対応できない(図6)。そんなときはROW関数で行番号を調べて独自の順位を求めるといいだろう。詳しくは同じ数字に順位をつける方法をご覧いただきたい。

図1 B列に得点を入力すると、並べ替えられた表をE列とF列に表示する

図2 データの左にRANK関数を入力して順位を求める

図3 有名なVLOOKUP関数には、こういう使い方もある

図4 各VLOOKUP関数で検索する順位が異なるので注意しよう

図5 順位で並べ替えられたデータが自動的に表示される

図6 同点が複数あると正しく表示されない