あるシートの ID が次のシートの参照として使用される Excel シートがあります。ID は連続しています。次のようになります。
Sheet 1 Sheet 2
ID Name ID Sheet_1_ID Text
1 ABC 1 1 asd
2 XYZ 2 2 dsa
3 PQR 3 2 sadas
4 LMN 4 3 asdas
5 3 asd
6 4 asd
今、何らかの理由で、シート 1 の ID の一部を変更し、シート 2 で置き換えたいと思っています。基本的に次のようなリストがあります。
OldID NewID
1 23
2 24
3 25
4 26
私が見つけた唯一の方法は、Excel の検索と置換機能を使用することですが、非常に時間がかかります。
これを実現できる数式、スクリプト、または小さなコードはありますか。
答え1
すべての OldID が一意である場合は、次のヘルパー列を各シートに追加します (OldID/NewID リストが Sheet3 にあり、OldID が列 A、NewID が列 B にあり、現在のシートの OldID が行 2 から始まる列 A にあると想定します)。
=VLOOKUP(A2,Sheet3!A:B,2,FALSE)
実質的には、これは「現在のシートのA2の値を取得し、シート3のA:Bの左端の列でそれを見つけ、シート3のA:Bの2番目の列に一致する値を返す」と解釈されます。FALSEパラメータは、完全に一致A2 に見つかります。(確かに直感に反します。)
2 行目の設定が完了したら、シートの残りの部分にコピーします。スポットチェックを行って正しく機能していることを確認したら、インポートしたデータをコピーし、「値の貼り付け」を使用して ID 列を上書きします。