TOP

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

説明

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

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


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

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

INDEX および MATCH を使用したテーブルの結合

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))

INDEX および MATCH を使用したテーブルの結合

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

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

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

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

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

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

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

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

トピックに関する記事: