Excel函数,根据旧/新ID列表更改ID编号';s
我有一个身份证号码列表,供现在必须有新身份证的人使用。如下图所示,在excel中,我将旧身份证和新身份证放在彼此相邻的表格中。所以旧的ID:111实际上是ID:123,以此类推。我有一个需要更改的id列表(更改此id),我希望新更改的id进入结果列。那么,有没有一种方法可以让函数为我做这件事,而不是手动检查和更改它们?它将查看“更改此ID”列中的内容并查看444,然后转到“旧ID”列并查找444,然后转到同一行中的“新ID”列并查找101,然后将其放入“结果ID”列。然后会去下一行做333,以此类推Excel函数,根据旧/新ID列表更改ID编号';s,excel,function,Excel,Function,我有一个身份证号码列表,供现在必须有新身份证的人使用。如下图所示,在excel中,我将旧身份证和新身份证放在彼此相邻的表格中。所以旧的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
函数并编写公式来查找需要更改的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没有改变。为了避免这些Id出现错误,只需将它们复制过来,您可以将VLOOKUP公式封装在IFERROR函数中(感谢@Jeeped的想法,请参见下面的注释),如下所示:
=IFERROR(VLOOKUP(C2,A:B,2,FALSE),C2)
在单元格D1中使用公式后,可以使用自动填充功能填充列D中的所有新Id
参考资料:
我在想,如果找不到新的文件,使用包装可以返回原始文件,这样可能会更好一些。e、 g.
=IFERROR(VLOOKUP(C2,A:B,2,FALSE),C2)
@真是个好主意,避免了两步合并未更改的Id。我会把它包括在我的答案中。@JosephB谢谢你的回复,我明天会试试这个,等它起作用的时候再接受答案