Excel を使用してワークシートのセルのデータを一致させ、隣接する列からデータをコピーして別のワークシートに貼り付けます。

Excel を使用してワークシートのセルのデータを一致させ、隣接する列からデータをコピーして別のワークシートに貼り付けます。

スプレッドシートには、シート 1 ~ シート 5 のそれぞれに複数の名前と電話番号が記載されています。

各シートの 5 つのタブすべてにおいて、列 A に約 900 の名前があり、列 B の横にその名前に関連付けられた電話番号があります。

電話番号のみの列 A がある 6 番目のタブがあります。必要に応じて、6 番目のタブの列 A の電話番号を検索して一致させ、他の 5 つのタブと一致させる数式または VBA を作成したいと思います。次に、同じ数式または VBA を使用して、隣接する列 A からそれぞれのタブの名前をコピーし、その名前を 6 番目のタブの列 B に貼り付けたいと思います。

それができることはわかっています。ただ、そのノウハウがないだけです。:(

写真を更新しました。最初の写真でわかるように、ATT という特定のワークシートには電話番号のみが記載されています。

2 番目の画像では、「BlackBerry」というワークシートに番号とキャリア名および人物名が表示されています。

両方とも同じワークブックにあります。BlackBerry というワークシートからその電話番号に割り当てられた名前を ATT というワークシートに挿入します。

もう一度付け加えておきますが、検索と一致は、すべて Blackberries、BB2、BB3、BB4 など、似た名前を持つ少なくとも 5 つのワークシート間で行われることになります。

それらはすべて同じ形式です。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

答え1

これを数式で実行できます。

各シートでインデックス/一致検索を実行します。シートに番号が含まれていない場合は、IFERROR によってキャッシュされ、次のシートで検索が行われます。

以下の数式は 5 つのワークシートすべてを調べます :) シート ATT のセル B2 に貼り付けて、下にコピーします...

=IFERROR(
    IFERROR(
        IFERROR(
            IFERROR(INDEX(Sheet1!H:H;MATCH(ATT!A2;Sheet1!B:B;0));
                INDEX(Sheet2!H:H;MATCH(ATT!A2;Sheet2!B:B;0))
            );
            INDEX(Sheet3!H:H;MATCH(ATT!A2;Sheet3!B:B;0))
        );
    INDEX(Sheet4!H:H;MATCH(ATT!A2;Sheet4!B:B;0))
    );
    INDEX(Sheet5!H:H;MATCH(ATT!A2;Sheet5!B:B;0))
 )

関連情報