エクセルでデータ検索がしたくてINDEX関数を使おうとしたものの、使い方がよく分からずに困ってはいないでしょうか。
この記事では、INDEX関数の使い方やMATCH関数との組み合わせ、XLOOKUP関数を使ったデータ検索方法についてまとめています。
ExcelCamp講師が研修で実際に説明している手順に沿って内容を解説いたします。
INDEX関数とは?
INDEX関数は、指定した範囲の中からデータを検索し、特定の行や列にある値を抽出する関数です。
指定した範囲内の任意の場所にあるデータを、行番号や列番号で簡単に取得できます。
書式は以下の通りです。
=INDEX(配列, 行番号, [列番号])
配列:データを検索する範囲
行番号:抽出したいデータが含まれている行番号
列番号:抽出したいデータが含まれている列番号
例えば、以下の表から商品Cの売上額(¥20,000)を抽出する場合。
書式は=INDEX(B2:E7,4,3)で表されます。
配列はB2セルからE7セルとなります。

行番号と列番号は、選択した範囲の中での順番となるので、行番号は4、列番号は3となります。

INDEX関数の使い方
ここでは、実際にINDEX関数の使い方について解説します。
先ほどと同じ表から商品Dの在庫数(50)を抽出していきます。

まず、抽出したデータを表示させたいセルにカーソルを合わせます。
今回は、B9セルにデータを表示させます。

セルにカーソルを合わせたら半角モードで=inまで入力します。
すると、候補の一番上にINDEX関数が表示されるので、そのままTabキーを押します。

続けて配列、行番号、列番号を入力していきます。
配列はB2~E7を範囲選択します。

配列を選択したら,を入力します。

行は5行目、列は2列目なので、5,2と入力します。
入力したらEnterキーを押します。

商品Dの在庫数である「50」が抽出されました。

【2パターン】効率的にデータを抽出する方法
INDEX関数では、抽出するデータの行と列を自ら探して指定する必要があります。
ただ、膨大なデータから抽出する場合、自ら探していたのでは手間がかかりすぎます。
そこで、効率的にデータを抽出する方法が以下の2つです。
- XLOOKUP関数を使う
- INDEX関数とMATCH関数を組み合わせる
ExcelCampでは、XLOOKUP関数を推奨しています。
ただ、XLOOKUP関数はMicrosoft 365 と Excel 2021 以降でしか使うことができません。
なので、INDEX関数とMATCH関数を組み合わせる方法も解説していきます。
XLOOKUP関数を使う
最初にXLOOKUP関数を使ってデータを抽出する方法を解説します。
XLOOKUP関数の書式は以下の通りです。
=XLOOKUP(検索値, 検索範囲, 結果範囲, [見つからない場合], [一致モード], [検索モード])
検索値:検索したい値
検索範囲:検索するデータが含まれている範囲
戻り範囲:表示させたい検索結果を取得する範囲
見つからない場合:データが見つからなかったときに表示させる文字の設定
一致モード:完全一致か近似値一致かの選択
検索モード:検索を上からするか下からするかの設定
今回は以下の表から商品Bの売上額(¥15,000)を抽出していきます。

新たに表を作成して、C10セルに商品Bの売上額を表示させていきます。

C10セルにカーソルを合わせたら、半角モードにして=XLと入力します。
すると、候補の一番上にXLOOKUP関数が表示されるので、Tabキーを押します。

XLOOKUP関数が入力されました。
続けて検索値、検索範囲、戻り範囲を入力していきます。

検索値は商品Bなので矢印の←キーを一度押します。


列ごとに他の商品の売上額も表示させたいならF4キーを3回押して列の絶対参照($B10)を付けましょう。
※PCによってはFnキーを押しながらF4キー


続けて、,を入力します。

検索範囲は、商品名の列になるので、B2セルからB7セルを範囲選択します。


範囲を選択したらF4キーを一度押して行列の絶対参照をつけましょう。
※PCによってはFnキーを押しながらF4キー

範囲を選択して絶対参照を付けたら,を入力します。

戻り範囲は、データを抽出して表示させたい項目なので、売上額の列となります。
D2セルからD7セルを選択します。

ここでも範囲を選択したらF4キー(Fnキーを押しながらF4キー)を一度押して絶対参照を付けましょう。

絶対参照をつけたら,キーを入力します。

続いて、データが見つからない場合の文字表記の入力をしていきます。
今回は、見つからない場合に「-(半角ハイフン)」と表示されるようにします。
”-”と入力します。
基本的に一致モードと検索モードは変更する必要がないので、そのままEnterキーを押します。

商品Bの売上額「¥15,000」が抽出されました。


INDEX関数とMATCH関数を組み合わせる
次にINDEX関数とMATCH関数を使ったデータ検索の方法を解説します。
最初にMATCH関数について説明します。
MATCH関数とはデータの位置を特定するための関数です。
指定された範囲の中から特定の値が何行目、何列目にあるかを教えてくれます。
MATCH関数の書式は以下の通りです。
=MATCH(検索値, 検索範囲, [照合の種類])
検索値: 検索したい値
検索範囲: 値を検索するセル範囲(行または列のどちらかを指定)
照合の種類: 完全一致か近似一致の選択
以下の表から商品Bの位置が何行目かをB9セルに表示させます。

B9セルにカーソルを合わせたら半角モードにして=matと入力します。
すると、候補の一番上にMATCH関数が表示されるので、Tabキーを押します。

MATCH関数が入力されました。

検索値は商品Bなので”商品B”と入力します。もしくは、B4セルを選択します。
入力したら,を入力します。

検索範囲は、商品名の列になるのでB2セルからB7セルを選択します。

選択したらF4キー(Fnキーを押しながらF4キー)を一度押して絶対参照を付けます。
絶対参照を付けたら,を入力します。

照合の種類は基本的に完全一致で構いません。
なので、0と入力してEnterキーを押します。

商品Bが3行目にあることが分かりました。
*セル番号は4ですが、選択範囲した中での順番となるため3行目となります。

ここからINDEX関数とMATCH関数の組み合わせ方法を解説します。
今回も以下の表から商品Bの売上額(¥15,000)を抽出していきます。

C10セルにカーソルを合わせたら半角モードで=inまで入力します。
すると、候補の一番上にINDEX関数が表示されるので、そのままTabキーを押します。

続けて配列、行番号、列番号を入力していきます。
配列はB2セル~E7セルを範囲選択します。

選択したらF4キー(Fnキーを押しながらF4キー)を一度押して絶対参照を付けます。
絶対参照を付けたら,を入力します。

続いて行番号を入力します。
ここで、先ほどのMATCH関数を使います。
matと入力したらTabキーを押します。

MATCH関数が入力されました。

続いて検索値を入力します。
検索値は商品Bなので、矢印の←キーを押してB10セルを選択します。
選択したらF4キー(Fnキーを押しながらF4キー)を3度押して列の絶対参照を付けます。

絶対参照を付けたら,を入力します。

検査範囲は商品名の列なので、B2セル~B7セルを選択します。
選択したらF4キー(Fnキーを押しながらF4キー)を1度押して行と列の絶対参照を付けます。
絶対参照を付けたら,を入力します。

続いて0),と入力します。

次に列番号を入力します。
列番号もMATCH関数を使います。
まず、行番号のときと同様にMATCH関数を入力します。

検索値は売上額になるので、C9セルの売上額を選択します。
選択したらF4キー(Fnキーを押しながらF4キー)を3度押して列の絶対参照を付けます。

選択したら,を入力します。

検索範囲には、B2セル~E2セルの行を選択します。
選択したらF4キー(Fnキーを押しながらF4キー)を1度押して行と列の絶対参照を付けます。
絶対参照を付けたら,を入力します。

最後に0))と入力してEnterキーを押します。

商品Bの売上額「¥15,000」が抽出されて表示されました。

休日「1日」を投資して、平日の生産性を最大「20倍」にするExcel研修
私たちが提供するExcel研修「上位1%を目指す!ExcelCamp」では、これまで延10,000名以上の方に研修を受講いただき、受講者満足度は9.71(※)という大変高い評価を頂いております。
※10点満点中の評価の平均値。
休日1日を研修に使うのは「やや重たい」というご意見もいただきます。
しかし、本当にExcelスキルを実践で使えるレベルで高めるとなると、通常数年はかかるものです。
実際にExcelCampで教える内容は、代表の中田が業務コンサルタントとして数年間、毎日10時間以上Excelと向き合った結果ようやく生まれたスキルです。
そのことを考えると、休日の「たった1日」を投資して、その後のExcel業務の生産性を圧倒的に高めることは決して悪くない選択だと思います。
参加者の中にはお伝えしたスキルを仕事の現場で活かし、生産性が「20倍」になったという事例もあります。
動画サービス「bizplay(ビズプレイ)」で研修の一部を無料公開中!
※全4回の動画のダイジェスト版です。
※第1~4回の内容をフルで視聴するには、bizplayへの無料会員登録が必要です。
現在セミナー動画見放題サービス「bizplay」で、ExcelCamp Day1の講義内容の一部を無料配信しています。
全4回に分けてExcelが得意になるための考え方や覚えておくべき基本操作を解説していますので、Day1への参加を迷われている方はぜひ一度ご覧ください。
著書「神速Excel」も絶賛発売中
