Excelの検索関数の種類や違いを知りたい方
データの抽出に最適な関数の使い分けに悩んでいる方
データ分析やレポート作成を効率よく進めたい方
Excelで大量のデータを扱う際、必要な情報を迅速に検索・抽出するためには、適切な検索関数を使いこなすことが重要です。
この記事では、Excelでよく使われているVLOOKUPやHLOOKUP、XLOOKUP、LOOKUPなどの検索関数の紹介と、それぞれの特徴をわかりやすく説明しています。
これらの関数を理解することで、データの検索と抽出がより効率的に行えるようになるため、ぜひチェックしてみてください。
- 検索関数の比較一覧
- 図解付き!Excelの検索関数の基本解説
- Excelの検索関数のエラーを防ぐための方法は?エラーの原因・例・対策
- Excelの関数でエラーになったとき、IFERROR関数で空白や指定した文字を表示する方法
- まとめ
検索関数の比較一覧
検索関数を選択する際には、自分が "何を" "どのような形式で" 検索したいのかを明確にすることが重要です。
例えば、縦方向にデータを検索したい場合と横方向に検索したい場合では使用すべき関数が異なります。
以下はExcelでどの検索関数を使うべきか迷ったときに役立つ一覧表です。各関数の用途、利点、欠点、そして使用例をまとめています。
▼各関数名をクリックすると、記事内の説明まで移動することができます。
関数名と主な用途 | 利点・欠点・例 |
---|---|
VLOOKUP 指定された範囲の1列目で特定の値を検索し、指定した列と同じ行にある値を返します。 |
利点:簡単に使用できる 欠点:左から右への検索のみ対応 例:=VLOOKUP(検索値, 範囲, 列番号, [検索方法]) |
HLOOKUP 指定された範囲の1行目で特定の値を検索し、指定した行と同じ列にある値を返します。 |
利点:簡単に使用できる 欠点:上から下への検索のみ対応 例:=HLOOKUP(検索値, 範囲, 行番号, [検索方法]) |
XLOOKUP 範囲または配列を検索し、見つかった最初の一致に対応する項目を返します。 |
利点:柔軟な検索が可能、エラー処理が簡単 欠点:Excelの新しいバージョン (※ Excel 2019以降) で使用可能 例:=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード]) |
LOOKUP 1行または1列のみのセル範囲、または配列に含まれる値を返します。 |
利点:簡単に使用できる 欠点:複雑な検索には不向き 例:=LOOKUP(検索値, 検索範囲, [結果範囲]) |
INDEX 指定された行と列が交差する位置にある値またはセルの値を返します。 |
利点:MATCH関数と組み合わせて強力な検索が可能 欠点:単独では検索機能がない 例: =INDEX(範囲, 行番号, [列番号]) |
MATCH 指定された範囲内で特定の値を検索し、その相対的な位置を返します。 |
利点:INDEX関数と組み合わせて強力な検索が可能 欠点:単独では値の取得ができない 例:=MATCH(検索値, 検索範囲, [照合の種類]) |
OFFSET 指定した参照から指定した行数、列数の範囲への値を返します。 |
利点:動的な範囲設定が可能 欠点:大規模データには不向き 例:=OFFSET(参照, 行数, 列数, [高さ], [幅]) |
図解付き!Excelの検索関数の基本解説
ここからは、Excelでよく使う検索関数の使い方を画像付きでわかりやすく説明し、必要な情報を探し出す方法を紹介します。
それぞれの検索関数の特徴や使い方を知ることで、データの抽出や分析がより効率的に行えるようになります。
また、各関数の主な用途や注意点も併せて解説しているため、実際の業務での活用方法が具体的にイメージできるようになります。
この記事では、図解解説で使用した関数を簡単にコピーして使える「関数をコピー」ボタンを設置しています。
おすすめの使い方は、コピーした関数をExcelの抽出結果を表示したいセルに貼り付け、関数内のセル参照を実際に使用するセルに変更する方法です。
別のシートからデータを取るときは、シート名と感嘆符「!」を関数の前に追加してください。
Sheet2というシートからデータを抽出する関数例:=VLOOKUP(C2,Sheet2!B6:C8,2,FALSE)
データを縦に検索できる「VLOOKUP関数」
主な用途:指定された範囲の1列目で特定の値を検索し、指定した列と同じ行にある値を返す。
注意点:条件値が検索範囲の左端の列にある場合にしか使用できない。
例:=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
例えば、表の中で特定の「商品」を探して、指定した列目にある「値段」を知りたいという場合に使用します。
▼(例)C3のセルにC2のセルで指定した「りんご」を範囲内から見つけて、その2列目にある値段を返したい場合。
データを横に検索できる「HLOOKUP関数」
主な用途:指定された範囲の1行目で特定の値を検索し、指定した行と同じ列にある値を返す。
注意点:条件値が検索範囲の上端の行にある場合にしか使用できない。
例:=HLOOKUP(検索値, 範囲, 行番号, [検索方法])
例えば、表の中で特定の「商品名」を探して、指定した行目にある「値段」を知りたいという場合に使用します。
▼(例)C3のセルにC2のセルで指定した「りんご」を範囲内から見つけて、その2行目にある「値段」を返したい場合。
VLOOKUP関数は縦方向、HLOOKUP関数は横方向に検索するということを覚えておきましょう!


任意の方向に検索できる「XLOOKUP関数」
主な用途:範囲または配列を検索し、見つかった最初の一致に対応する項目を返す。
注意点:Excelの新しいバージョン (※ Excel 2019以降) で使用可能。
例:=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
例えば、表の中で特定の「商品名」を探して、指定した範囲にある商品名に対応する「値段」を知りたいという場合に使用します。
▼(例)C3のセルにC2のセルで指定した「ぶどう」を範囲内から見つけて、指定した範囲(戻り範囲)にある「値段」を返したい場合。
「値段」ではなく「個数」を知りたいという場合は、指定している戻り範囲を変更します。
▼(例)C3のセルにC2のセルで指定した「ぶどう」を範囲内から見つけて、指定した範囲(戻り範囲)にある「個数」を返したい場合。
検索値に対応する配列の結果を全て知りたいとういう場合は、検索値と検索範囲を一致させ、戻り範囲に結果を知りたい配列を指定します。
▼(例)C3のセルにC2のセルで指定した「値段」に対応する配列を返したい場合。
データを簡単に検索できる「LOOKUP関数」
主な用途:1行または1列のみのセル範囲、または配列に含まれる値を返す。
注意点:検索範囲と結果範囲が同じ方向(行または列)に並んでいる必要があり、複雑な検索には不向き。
例:=LOOKUP(検索値, 検索範囲, [結果範囲])
例えば、表の中で特定の「商品名」を探して、指定した範囲にある「個数」を知りたいという場合にLOOKUP関数を使用します。
▼(例)C3のセルにC2のセルで指定した「りんご」を範囲内から見つけて、その「個数」を返したい場合。
VLOOKUP関数やHLOOKUP関数は検索範囲の端にある値を検索しますが、LOOKUPはどの列や行でも検索できるシンプルな関数です。
特定の位置のデータを取り出せる「INDEX関数」
主な用途:指定された行と列が交差する位置にある値またはセルの値を返す。
注意点:単独では検索機能がない。
例:=INDEX(範囲, 行番号, [列番号])
例えば、特定の行にある値を知りたい場合にINDEX関数を使います。
▼(例)C3のセルに指定した範囲の3行目の値を返したい場合。
特定の値の位置を見つけられる「MATCH関数」
主な用途:指定された範囲内で特定の値を検索し、数値や文字列がどの位置にあるかを列・行番号で返す。
注意点:INDEX関数と組み合わせて強力な検索が可能となり、単独では値の抽出ができない。
例:=MATCH(検索値, 検索範囲, [照合の種類])
例えば、特定の値が何番目にあるかを知る場合にMATCH関数を使います。
▼(例)C3のセルにC2のセルで指定した「りんご」を範囲内から見つけて、その範囲の何行目かを返したい場合。
INDEX関数とMATCH関数を組み合わせることで、非常に効果的な検索が実現できます!
特定のセルから指定した行数と列数の値を返す「OFFSET関数」
主な用途:指定された基準セルからのオフセット(行数・列数)にあるセルの値を返す。
注意点:基準セルからのオフセット(行数・列数)を指定する必要がある。
例:=OFFSET(参照, 行数, 列数, [高さ], [幅])
例えば、指定したセル(基準セル)から数えて数行下にある値を知りたい場合にOFFSET関数を使います。
▼(例)C3のセルに基準セルC6から2行下の値を返したい場合。
Excelの検索関数のエラーを防ぐための方法は?エラーの原因・例・対策
Excelでは、データの検索や参照、抽出において、エラーが発生することがあります。表示されるエラーの内容により対策方法が異なるため、エラーが発生した場合は以下で紹介する対策を実行してみてください。
#N/Aエラー
原因:検索した値が見つからないときに発生する。
例:VLOOKUP関数で「りんご」を検索したけれど、データに「りんご」がない場合。
対策:データが正しく入力されているか、スペルミスがないか確認する。
#REF!エラー
原因:参照しているセルが無効になったときに発生する。
例:参照しているセルが削除された場合。
対策:参照先のセルが正しいか確認し、必要なら修正する。
#VALUE!エラー
原因:関数に無効なデータ型が入力されたときに発生する。
例:数字を期待している関数に文字列が入力された場合。
対策:入力データの型が正しいか確認する。
Excelの関数でエラーになったとき、IFERROR関数で空白や指定した文字を表示する方法
IFERROR関数を使用すると、エラーが発生したときに代替値を返すことができます。これにより、エラーが発生していることを理解しやすくなります。
例えば、記事で紹介しているVLOOKUP関数を使用して、エラー時に「見つかりません」と表示するには、以下のようにします。
エラー時に空白を表示するには、"見つかりません"を""に変更してください。
まとめ
検索関数を活用することで、Excelでの作業効率が向上し、必要なデータを素早く取得できるようになります。これにより、日常の業務や学習の効率が大幅に改善されます。
また、エラーチェックやデータの整合性を保つための方法を取り入れることで、データの信頼性を高めることができます。
検索関数には様々な方法がありますので、どの関数を使うと良いか迷ったときは、この記事を読み返してみてください。Excelの使い方を学びたい、おさらいしたいという方には、以下のExcelの使い方基本操作ガイドの記事がおすすめです!