【最新関数】XLOOKUP・INDEX・MATCH関数の解説

Level3 関数

以下のような方にオススメの記事です。

  • VLOOKUP関数を使っているが、エラーが多くて困る
  • VLOOKUPでは対応できない、左側のデータを検索したい
  • 最新のExcel関数を知って、作業を劇的に高速化したい

関数を学ぶ上で最も重要なのが「抽出」の概念です。

VLOOKUP関数は長年その主役でしたが、実は多くの弱点を抱えていました。
その弱点を克服するのが、INDEX関数&MATCH関数、そして最新のXLOOKUP関数です。

この記事では、抽出作業を自動化し、エラーを極限まで減らすための、3つの関数を解説します。

VLOOKUP関数の弱点を克服する「INDEX関数 & MATCH関数」

VLOOKUPの3つの弱点

  1. 検索列が左端にないと使えない
  2. 列の挿入・削除で抽出する列番号が変わってしまう
  3. 大規模なデータになると動作が重くなる

この3つは工夫次第でVLOOKUP関数だけで十分に対処可能です。
しかし、そんな工夫すら不要なのがINDEX関数&MATCH関数です。

たんたん
たんたん

基本はVLOOKUP関数!

新しいバージョンのExcelが用意されていない
会社も多いからね。

とはいえ、VLOOKUP関数は基本なので、まだ学習していない方はチェックしてください。

INDEX関数とMATCH関数の機能

INDEX関数とMATCH関数は、それぞれ単体でも使えますが、組み合わせて使うことでVLOOKUPの弱点をすべて克服できます。

  • MATCH関数: 
    =MATCH ( 検索値 , 検索範囲 , 0 )
    機能:検索値が、指定した範囲の何行目にあるかを返します。
    ※検索範囲は1列のみを全体で選択すべき(例 A:A)
  • INDEX関数: 
    =INDEX( 抽出範囲 , 行番号 , 列番号 )
    機能:指定した行と列にあるセルの値を返します。
    ※ここでの行・列番号は抽出範囲の中で何番目かという意味。
    ※抽出範囲は列全体を選択するべき(例 A:G)
たんたん
たんたん

基本構造はVLOOKUP関数に似たところがあるね。

1-3. VLOOKUPでは不可能な「左側検索」の具体例


=INDEX(抽出範囲, MATCH(検索値, 検索範囲, 0) , 列番号)

この組み合わせを使えば、検索値がどこにあっても、好きな場所からデータを抽出できます。

たんたん
たんたん

INDEX関数とMATCH関数を組み合わせることで
VLOOKUP関数と同じ機能を持つんだ。

2. 検索関数の未来「XLOOKUP関数」

2-1. XLOOKUPとは

XLOOKUP関数は、VLOOKUPの全ての弱点を解消し、INDEX+MATCHの機能も内包した
最新の検索関数です。(Excel 2021以降、Microsoft 365で利用可能)

=XLOOKUP( 検索値 , 検索範囲 , 抽出範囲 , エラー時の表示 )

引数意味
検索値探したい値
検索範囲検索値が入っている列
抽出範囲抽出したい値が入っている列
エラー時の表示検索値がないときに表示する値(省略可)
たんたん
たんたん

抽出したい列を指定できるのは便利。
VLOOKUP関数だと、左端から何行目か数えなきゃだから…

XLOOKUP関数でも、検索値はデータ型が一致していないといけません。
「100(数値)」と「100(文字列)」が違うものと認識され、抽出できないです。

そこで、データ型の確認と変換が必要になりますが、詳細はこちらをチェックしてください。

2-2. XLOOKUPの圧倒的なメリット

  1. 検索方向自由: 検索列が左端になくてもOK。
  2. エラー処理が簡単: 検索値がない場合に表示する文字(例:空白 "")を簡単に指定できます。
  3. 列番号が不要: VLOOKUPのように「何列目」と数える必要がないため、列を挿入してもエラーになりません。
たんたん
たんたん

IFERROR関数を設定する必要もないね!


まとめ:今回のクエストを終えて

  • VLOOKUPの限界を理解し、INDEX + MATCHという最強の組み合わせを覚えた。
  • 最新のXLOOKUPを知り、将来的な作業効率アップの準備ができた。

これらの関数を使いこなせば、データ抽出作業は手作業から自動化へと進化します。

コメント

タイトルとURLをコピーしました