今回は、Excel(エクセル)のINDEX関数を使って、指定した条件に合うデータを抽出する方法を確認します。MATCH関数と組み合わせることでさらに有効に使えるので、基本的な使い方を覚えておきましょう。

本連載では、「よく使うけど忘れやすいMicrosoft Officeの操作」をキーワードに、Officeアプリケーションの使い方を解説していきます。記事の制作には、執筆時点で最新の状態にアップデートしたMicrosoft Office 2016を使用しています

INDEX関数と他の関数を組み合わせる

Excelには膨大な関数が用意されていますが、その中には複数の関数と組み合わせることで真価を発揮する関数も数多く存在します。今回紹介するINDEX関数もその一つですが、他の関数とセットで使う前に、まずは基本的な使い方を確認していきましょう。

INDEX関数の基本数式は、=INDEX(配列, 行番号,列番号)

まずは数式を入力したいセル(画面の例ではA9)をクリックして、数式バーに「=INDEX(」と入力します(図1)。続けて、マウスをドラッグしてセル範囲(配列)を指定して数式に反映させたら(図2)、「,」(カンマ)で区切って行番号と列番号を入力します。

今回の例では「=INDEX(A2:B7,3,1)」という数式にしていますが(図3)、これはA2~B7までのセル範囲の上から3行目、左から1列目のセルを指定していることになります。[Enter]キーを押して確定させると、A4セルの値が参照されて表示されます(図4)。

たとえば、この数式を「=INDEX(A2:B7,5,2)」に変更すると、上から5行目、左から2列目となるB6セルの値が表示されます(図6)。これがINDEX関数の基本形です。

  • (図1)A9セルを選択して数式バーに「=INDEX(」と入力します

  • (図2)A2~B7セルをドラッグして数式に反映(A2:B7)させます

  • (図3)抽出する行番号(3)、列番号(1)を指定して「=INDEX(A2:B7,3,1)」という数式を完成させます

  • (図4)指定したセル範囲内の3行目、1列目にあるA4セルの値が抽出されました

  • (図5)数式を「=INDEX(A2:B7,5,2)」に変えてみます

  • (図6)指定したセル範囲の5行目、2列目にあるB6セルの値が抽出されました

MATCH関数と組み合わせて使ってみる

では本題、INDEX関数とMATCH関数を組み合わせた活用例を紹介しましょう。今回は、表に記載した順位を参照して名前を抽出してみます。

手順は、数式を入力するセル(B9)を選択して数式バーに「=INDEX(」と入力(図7)、続けてA2~A7までの名前を入力したセル範囲を絶対参照で指定します(図8)。「,」(カンマ)で区切ったら「MATCH(」と入力し(図8)、「1位」と入力したA9セルをクリックして数式に反映します(図9)。さらにカンマで区切って、順位が書かれたC2~C7セルを絶対参照で指定し(図11)、「=INDEX($A$2:$A$7,MATCH(A9,$C$2:$C$7,0),1)」という数式を完成させます(図12)。

この数式では、MATCH関数で「C2~C7のセル範囲でA9セルに書かれた値と合致するセルの行番号」を求めています。したがって、INDEX関数で指定したA2~A7のセル範囲で3行目、1列目にあるA3セルの値「佐々木」が抽出されます(図13)。

  • (図7)B9セルを選択して数式バーに「=INDEX(」と入力します

  • (図8)「$A$2:$A$7」と絶対参照でA2~A7セルの範囲を指定します

  • (図9)続けて「,MATCH(」と入力します

  • (図10)「1位」と入力されているA9セルをクリックして数式に反映させます

  • (図11)「,」で区切って「$C$2:$C$7」と絶対参照でC2~C7セルの範囲を指定し、最後に「,0」(完全一致を指定)を付けてMATCH関数の数式を完成させます

  • (図12)MATCH関数のあとに「,1)」(INDEX関数の列番号指定)と入力し、「=INDEX($A$2:$A$7,MATCH(A9,$C$2:$C$7,0),1)」という数式を完成させます

  • (図13)A2~A7セルの範囲で2行目(MATCH関数で抽出)、1列目にあるA3セルの値が抽出されました

今回の数式では、セル範囲を絶対参照($を付ける)で指定しているので、数式を入力したB9セル右下のフィルハンドルを下にドラッグすれば、数式をコピーすることが可能です(図14)。これで、1位、2位、3位……と、順位に合わせて名前を並べ替えることができます(図15)。このように、INDEX関数はMATCH関数などと組み合わせることで応用範囲が広がります。

  • (図14)B9セル右下のフィルハンドルを下にドラッグして数式をコピーします

  • (図15)2位、3位の名前も抽出されました