Excelの上級テク 関数で順位を表示、データを抽出
実例で学ぶ! Excel関数・数式講座「成績表」(2)
ビジネススキルスコアや選手氏名などを個別に取り出すのではなく、最新版Excelの新しい関数を利用して、該当する選手のデータを、配列としてまとめて取り出すことも可能だ(図1)。

図1 最新版Excelであれば、元の表のデータを並べ替え、その一部を抽出するといった方法で、各順位に該当する選手の情報を取り出すことができる。この方法なら、同点の選手が複数いた場合でも、その人数分の情報を取り出すことが可能だ
関数を使って並べ替えを実行、表の絞り込みにも関数を活用
まず、元の個人成績一覧表の全データを、スコアの大きい順に行単位で並べ替え、そのまま別表に表示しよう。これは、新関数のSORT(ソート)関数を使うことで実現できる(図2)。

図2 やはり、最初は同点の選手がいない例で解説する。SORT関数の引数「配列」に元データの範囲を、引数「並べ替えインデックス」にキーにする列番号を指定。引数「並べ替え順序」に「−1」を指定すると、降順で並べ替えられた配列がスピルして表示される
また、この関数を、以前からあるINDEX関数と組み合わせれば、並べ替えた配列の中の特定の行だけを、配列として取り出すことができる。この場合、引数「列番号」は省略し、「行番号」だけを指定する。この数式をF4セルに入力すると、スピルによってF4~H4セルの範囲にその行の全データが表示される(図3)。この数式を下方向にコピーすると、各順位に該当する選手のデータが、各行に表示される(図4)。順位を表す数値を変更すれば、1~5位だけでなく、任意の順位のデータを取り出すことも可能だ。

図3 同様にSORT関数で並べ替えた配列データを、INDEX関数(配列形式)の引数「配列」に指定。E4セルに入力された順位を引数「行番号」として、その行全体を配列として取り出す。この3列分のデータが、スピルによってF4〜H4セルに表示される

図4 F4セルに入力した数式を、F8セルまでコピーする。これで、各セルの数式の結果が、行ごとにスピルによって各3列分のセル範囲に表示される。このコピーで対象範囲が変化しないように、SORT関数の引数「配列」は絶対参照で指定した