我有一张 Excel 表,其中一张表的 ID 用作下一张表的参考。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 在 A 列从第 2 行开始):
=VLOOKUP(A2,Sheet3!A:B,2,FALSE)
实际上,这可转换为:“获取当前工作表 A2 中的值,在 Sheet3 上 A:B 的最左侧列中找到该值,然后将匹配的值返回到 Sheet3 上 A:B 的第二列中”。FALSE 参数指定仅接受以下数据:完全符合发现 A2 为 。 (是的,违反直觉。)
为第 2 行设置好后,将其复制到工作表的其余部分。在抽查以确保一切正常后,您可以复制导入的数据并使用“粘贴值”覆盖 ID 列。