ターゲット テーブルの下の最初の空のセルにデータを貼り付けるだけで、あるテーブルの行を別のテーブルにマージ (結合) できます。 テーブルのサイズが大きくなり、新しい行が含まれます。 両方のテーブルの行が一致する場合は、テーブルの右側の最初の空のセルに貼り付けることで、あるテーブルの列を別のテーブルとマージできます。 この場合も、新しい列に合わせてテーブルが増えます。
行のマージは実際には非常に簡単ですが、あるテーブルの行が他のテーブルの行に対応していない場合、列のマージは難しい場合があります。 VLOOKUP を使用すると、一部のアラインメントの問題を回避できます。
VLOOKUP 関数を使用して 2 つのテーブルをマージする
次に示す例では、以前は新しい 名前に他の名前が付いていた " Blue" と "Orange" の 2 つのテーブルが表示されます。 Blue テーブルでは、各行は注文の行項目です。 そのため、注文 ID 20050 には 2 つの項目があり、注文 ID 20051 には 1 つの項目があり、注文 ID 20052 には 3 つの項目があります。 オレンジ色のテーブルの Order ID 列の一致する値に基づいて、Sales ID 列と Region 列を Blue テーブルとマージする必要があります。
Blue テーブルでは順序 ID の値が繰り返されますが、Orange テーブルの Order ID 値は一意です。 オレンジ色のテーブルからデータをコピーして貼り付けるだけの場合、注文 20050 の 2 番目の行項目の Sales ID と Region の値が 1 行ずつオフになり、Blue テーブルの新しい列の値が変更されます。
空白のワークシートにコピーできる Blue テーブルのデータを次に示します。 ワークシートに貼り付けた後、Ctrl + T キーを押してテーブルに変換し、 Excel テーブルの名前を Blue に変更します。
受注 ID |
販売日 |
製品 ID |
---|---|---|
20050 |
2/2/14 |
C6077B |
20050 |
2/2/14 |
C9250LB |
20051 |
2/2/14 |
M115A |
20052 |
2/3/14 |
A760G |
20052 |
2/3/14 |
E3331 |
20052 |
2/3/14 |
SP1447 |
20053 |
2/3/14 |
L88M |
20054 |
2/4/14 |
S1018MM |
20055 |
2/5/14 |
C6077B |
20056 |
2/6/14 |
E3331 |
20056 |
2/6/14 |
D534X |
Orange テーブルのデータを次に示します。 同じワークシートにコピーします。 ワークシートに貼り付けた後、Ctrl キーを押しながら T キーを押してテーブルに変換し、テーブルの名前をオレンジ色に変更します。
受注 ID |
販売 ID |
地域 |
---|---|---|
20050 |
447 |
西部 |
20051 |
398 |
南部 |
20052 |
1006 |
北部 |
20053 |
447 |
西部 |
20054 |
885 |
東部 |
20055 |
398 |
南部 |
20056 |
644 |
東部 |
20057 |
1270 |
東部 |
20058 |
885 |
東部 |
各注文の売上 ID と地域の値が、各一意の注文明細行項目と正しく一致していることを確認する必要があります。 これを行うには、テーブル見出し Sales ID と Region を Blue テーブルの右側のセルに貼り付け、VLOOKUP 数式を使用してオレンジ色のテーブルの Sales ID 列と Region 列から正しい値を取得します。
操作手順を次に示します。
-
オレンジ色のテーブル (これら 2 つのセルのみ) の見出し Sales ID と Region をコピーします。
-
青いテーブルの製品 ID 見出しの右側にあるセルに見出しを貼り付けます。
これで、Blue テーブルは、新しい Sales ID 列と Region 列を含む 5 つの列幅になります。
-
Blue テーブルの Sales ID の下の最初のセルで、次の数式の記述を開始します。
=VLOOKUP(
-
[青] テーブルで、[注文 ID] 列の最初のセル (20050) を選択します。
部分的に完了した数式は次のようになります:
[@[Order ID]] 部分は、"Order ID 列からこの同じ行の値を取得する" を意味します。
コンマを入力し、マウスでオレンジ色のテーブル全体を選択して、数式に "Orange[#All]" が追加されるようにします。
-
次のように、別のコンマ、2、別のコンマ、0 を入力します。
-
Enter キーを押すと、完成した数式は次のようになります。
Orange[#All] パーツは、"Orange テーブル内のすべてのセルを見る" を意味します。 2 は "2 番目の列から値を取得する" を意味し、0 は "完全に一致する場合にのみ値を返す" ことを意味します。
Excel では、VLOOKUP 数式を使用して、その列のセルが入力されていることに注意してください。
-
手順 3 に戻りますが、今回は Region の下の最初のセルで同じ数式の記述を開始します。
-
手順 6 では、2 を 3 に置き換えて、完成した数式は次のようになります。
この数式と最初の数式の違いは 1 つだけです。1 つ目はオレンジ色のテーブルの列 2 から値を取得し、2 番目の数式は列 3 から値を取得します。
これで、Blue テーブルの新しい列のすべてのセルに値が表示されます。 VLOOKUP 数式が含まれていますが、値が表示されます。 これらのセルの VLOOKUP 数式を実際の値に変換します。
-
[Sales ID] 列のすべての値セルを選択し、Ctrl キーを押しながら C キーを押してコピーします。
-
[貼り付け] の下の [ホーム > 矢印] をクリックします。
-
[貼り付け] ギャラリーで、[ 値の貼り付け] をクリックします。
-
[リージョン] 列のすべての値セルを選択してコピーし、手順 10 と 11 を繰り返します。
これで、2 つの列の VLOOKUP 数式が値に置き換えられました。
テーブルと VLOOKUP の詳細
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。