答え1
VLookup は単一の列を検索するのには最適ですが、複数の列を検索するのは面倒です。
INDEX / MATCH は、複数の列を処理するのに適しています。これは、VLOOKUP の機能を 2 つのステップに分割します。これにより、ワークブックの実行速度が速くなり、数式の記述が容易になります。
この例では、左側にソース シートが青と緑で表示され、右側に結果が灰色で表示されています。最初のデータ行の数式は結果テーブルの上にあります。
まず、=MATCH を使用して、ソース シート内の参照データの行番号を検索します。この例では、J3 で、MATCH は配列「A:A」内の値「a」を検索し、行 3 でそれを見つけます。同様に、K3 は「E:E」内の「a」を検索し、行 5 でそれを見つけます。
行がわかったので、列内の特定の値を簡単に検索できます。例では、L3 は配列「B:B」で行 3 (J3 から) を検索し、M3 は配列「F:F」で行 5 (K3 から) を検索します。必要なすべての列でこれを繰り返し、行全体を下にドラッグしてシートに入力します。
ご覧のとおり、Index/Match は Vlookup よりも少し複雑です。ただし、低速の Match と高速の Index を分離することで、シートのパフォーマンスが向上し、INDEX 呼び出しの記述が簡単になります。