TOP

大きなテーブルの素早いマージ (VLOOKUP2D)

説明

列と行を含む 2 つの大きなテーブルをすばやく結合する方法を考えてみましょう。つまり、1 つのパラメータ (VLOOKUP または HLOOKUP 関数) ではなく、一度に 2 つのパラメータ (関数 INDEX および MATCH を使用) で選択を行う方法を考えてみましょう。

関数 VLOOKUP またはその水平方向の類似関数 HLOOKUP に精通している場合は、これらの素晴らしい関数が 1 つのパラメーターのみ、つまり 1 次元配列内の行または列ごとに情報を検索することを覚えておいてください。そして、2 つのパラメータ (行と列の両方を同時に) の一致によって 2 次元テーブルからデータを選択する必要がある場合はどうでしょうか?テーブルを組み合わせるためのいくつかのオプションを検討してみましょう。


1. INDEX と MATCH を使用したテーブルの結合

ローン ポートフォリオと担保ポートフォリオを表示する 2 つのテーブルを組み合わせる必要があるとします。

VLOOKUP 関数を使用して個々の列を結合することができますが、テーブルに非常に多くの行と列がある場合、この作業は非常に面倒になる可能性があります。ただし、Excel には、カテゴリの INDEX と MATCH という 2 つの優れた関数があるため、この状況から抜け出す非常に簡単な方法があります。 参照と配列 (Lookup and Reference)、これらはペアで 2D VLOOKUP として機能します。

では、2 つのテーブルをすばやく結合するには何をする必要があるでしょうか?まず、2 番目のテーブル (結合するテーブル) のヘッダーをコピーし、最初のテーブルのヘッダーの隣に貼り付けます。 MATCH 関数は、キャップの名前に従って列のシリアル番号を取得し、契約番号に従って必要な行のシリアル番号を取得します。

実際、テーブル内の特定の行と列の交差部分からセルの値を見つけたいと考えています。わかりやすくするために、タスクを 3 つの段階に分けてみましょう。

したがって、上記のすべてを 1 つの数式に組み合わせると、セル F14 に対して次の数式が得られます。

=INDEX(J2:M18; MATCH(A14; K2:K18; 0); MATCH(F1; J1:M1; 0))

そうすることで、数式を範囲全体に拡張することで、追加のフィールドを正しく添付できます。数式を拡張するときは、ドル記号 ($) で範囲を固定する必要があることにも注意する必要があります (固定するには、F4 キーを使用できます)。キャップによる検索の場合は、行のみを固定します (F$1 )、トランザクション番号による検索用 - 列のみ ($A14 )。

2. VLOOKUP を使用してテーブルを結合する

前の例を少し変更して、同様のテーブルがあるが、ヘッダーが結合されているため、MATCH 関数は列のシリアル番号を正しく判断できないと仮定します。

この場合、テーブルの上に技術フィールドを作成し、列番号を手動で挿入できます。次に、すでにおなじみの VLOOKUP 関数を使用できます。

したがって、2 番目のオプションの式は次のようになります。

=VLOOKUP($A3; $J$3:$M$19; E$1; 0)

繰り返しますが、数式が正しく機能し、範囲を移動するときにエラーが発生しないように、範囲と対応する検索フィールドを $ 記号で修正することを忘れないでください。

トピックに関する記事: