我有一个id号列表,列出了现在必须拥有新id的人的id号。如下图所示,在excel中,我将旧id和新id放在相邻的表中。所以旧的ID:111实际上是ID:123等等。我有一个需要更改的ID列表(更改此ID),我希望新更改的ID进入结果列。那么,有没有一种方法可以让一个函数为我做这件事,而不是手动浏览和更改它们?它会查看"更改此ID"列中的内容并查看444,然后转到"旧ID"列并查找444,再转到同一行中的"新ID"列,查找101,然后将其放入"结果ID"列。然后去下一行,做333,以此类推
Old ID | New Id | Change This Id| Result Id| Name | Address |
-------------------------------------------
111 | 123 | 444 | 101 |
222 | 456 | 333 | 789 |
333 | 789 | 111 | 123 |
444 | 101 | ... | ... |
555 | 334 | ... | ... |
... | ... |
您可以使用VLOOKUP
函数并编写一个公式来查找New ID
中需要更改的Id。
A | B | C | D | E | F |
1 Old ID | New Id | Change This Id| Result Id| Name | Address |
-------------------------------------------------------------
2 111 | 123 | 444 | 101 |
3 222 | 456 | 333 | 789 |
4 333 | 789 | 111 | 123 |
5 444 | 101 | ... | ... |
6 555 | 334 | ... | ... |
... | ... |
因此,对于上面的数据集,使用行号(1、2等)和列名(A、B等),可以在单元格D1中编写如下公式:
=VLOOKUP(C2,A:B,2,FALSE)
可能有一些身份证没有改变。为了避免这些Id出现错误并将其复制过来,您可以将VLOOKUP公式封装在IFERROR函数中(感谢@Jeeped的想法,请参阅下面的评论),如下所示:
=IFERROR(VLOOKUP(C2, A:B, 2, FALSE), C2)
一旦公式在单元格D1中起作用,就可以使用自动填充功能填充D列中的所有新Id。
参考:
Microsoft Office Reference 上的VLOOKUP函数
Microsoft Office Reference 上的IFERROR功能
在Microsoft Office Reference 上自动填充