Excel で列の範囲を更新する方法

Excel で列の範囲を更新する方法

あるシートの 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 列を上書きします。

関連情報