【Excel検索】「データが右側にあって取れない!」VLOOKUPの弱点を克服する検索技3選
VLOOKUP関数は便利ですが、「検索値より左側の列は取得できない」という致命的な弱点があります。XLOOKUPが使えない環境でもプロ並みの検索を行うために、本記事では位置を指定して値を取る「INDEX」、値の位置を検索する「MATCH」、そして基準セルから相対的な位置を参照する「OFFSET」を紹介します。これらを組み合わせれば、表のどこにあるデータでも自在に取得可能になります(最新のExcel(Microsoft 365 / 2021以降)の場合)。
イチオシスト
※記事内で紹介した商品を購入すると、売上の一部が当サイトに還元されることがあります。

【Excel検索】「データが右側にあって取れない!」VLOOKUPの弱点を克服する検索技3選
「表のレイアウトを変えられないのに、VLOOKUPでは取りたいデータが検索列の左にある…」。そんな時、列を無理やり入れ替えていませんか。XLOOKUPが登場する前から、上級者は「INDEX」と「MATCH」を組み合わせてこの問題を解決してきました。このテクニックは互換性が高く、どんなバージョンのExcelでも通用する一生モノのスキルです。リズミカルにデータを特定する、検索の達人技を習得しましょう(最新のExcel(Microsoft 365 / 2021以降)の場合)。
1:座標でデータを取得「INDEX」
セル参照または配列から、指定された行番号と列番号が交差する位置の値を返すのがINDEX関数です。単体では「何行目、何列目」と数字で指定する必要がありますが、ピンポイントでデータを取得する能力に長けています。VLOOKUPと違い、検索列と取得列が離れていても、あるいは左右逆転していても関係なくデータを取り出せるのが最大の特徴です。
2:位置情報を特定する「MATCH」
参照セルや配列で値を検索し、その相対的な位置(何番目か)を数値で返すのがMATCH関数です。この関数は値を返すのではなく、「場所」を返します。そのため、INDEX関数の「行番号」や「列番号」の引数としてMATCH関数を入れ込むことで、「条件に合うデータが何行目にあるか探し、その行のデータをINDEXで取得する」という最強の検索式が完成します。
3:基準からずらして参照「OFFSET」
指定された行数と列数だけシフトした位置にあるセルまたはセル範囲の参照を返すのがOFFSET関数です。基準となるセルから「下へ1つ、右へ2つ」といった具合に動的に範囲を指定できます。データの増減に合わせて集計範囲を自動調整する「動的な名前の定義」や、特定の期間だけをスライドさせて集計する際などに威力を発揮する、玄人好みの関数です。 しめくくり INDEXとMATCHの組み合わせは、脱・初心者の登竜門です。表の構造に縛られない自由な検索術を身につけ、どんな表でも攻略できるようになりましょう。 ※XLOOKUP、UNIQUE、SORT、FILTER、TEXTJOIN関数は、Microsoft 365およびExcel 2021以降のバージョンでご利用いただけます。
<出典>
Excel 関数 (機能別)(Microsoft)
※記事内における情報は原稿執筆時のものです。
※記事内容は執筆時点のものです。最新の内容をご確認ください。

)
