Excel功能可根据旧/新ID

时间:2016-01-07 01:27:52

标签: excel function

我有一个现在必须有新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    | ...           | ...      |
...    | ...    |

1 个答案:

答案 0 :(得分:2)

您可以使用VLOOKUP功能并编写公式,以查找需要更改的ID的New 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。

<强>参考

VLOOKUP function on Microsoft Office Reference

IFERROR function on Microsoft Office Reference

Auto fill on Microsoft Office Reference