
スプレッドシートには、シート 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))
)