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


0

1つのシートの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

私が見つけることができる唯一の方法は、find n replace excelの機能を使用することですが、非常に時間がかかります。

これを達成するためにできる式、スクリプト、または小さなコードがありますか?

回答:


2

すべてのOldIDが一意である場合は、次のように各シートにヘルパー列を追加します(OldID / NewIDリストがSheet3にあり、OldIDが列Aに、NewIDが列Bにあり、現在のシートのOldIDが列Aにあると仮定します行2):

=VLOOKUP(A2,Sheet3!A:B,2,FALSE)

事実上、これは「現在のシートのA2の値を取得し、Sheet3のA:Bの左端の列でそれを見つけ、Sheet3のA:Bの2番目の列の一致する値を戻す」に変換します。FALSEパラメーターは、A2に完全に一致するデータのみを受け入れることを指定します。(反直感的、はい。)

行2に設定したら、シートの残りの部分にコピーします。これが正しく機能することを確認するためにスポットチェックした後、インポートされたデータをコピーし、「値の貼り付け」を使用してID列を上書きできます。


すべての列ではなく、その動作はVLookup(A2)を使用して参照されます...上のセルからコピーされるだけで、置き換えられません
ランダム思考14

ポイントは、VLOOKUP列を使用してNewIDを取得し、(値の貼り付けを使用して)コピー/貼り付けして置換を行うことです。
イッツィー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.