2016-01-07 83 views
0

我有一個現在必須有一個新ID的人的ID號列表。下面顯示的是,在Excel中,我將舊ID和新ID放在表格中並排放置。所以舊的ID:111實際上是ID:123等等。我有一個需要更改的ID列表(更改此ID),我希望新的更改的ID進入結果列。所以,而不是手動通過並改變它們,有沒有辦法讓功能爲我做這件事?它會查看「更改此ID」列中的內容並查看444,然後轉到「舊ID」列並找到444,然後轉到同一行中的「新ID」列並找到101,然後把它放到「結果ID」列中。然後會轉到下一行並執行333等等。Excel函數根據舊/新ID的列表更改ID號

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 | ...   | ...  | 
... | ... | 

回答

2

可以使用VLOOKUP功能,寫一個公式來查找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)

可能有一些編號的並沒有改變。爲了避免收到的錯誤,這些標識的,只是將其複製過來,你可以包裝VLOOKUP公式IFERROR函數內(感謝@Jeeped的想法,見下面的評論),具體如下:

=IFERROR(VLOOKUP(C2, A:B, 2, FALSE), C2)

一旦你的公式單元格D1時,您可以使用自動填充功能來填充所有新的ID在列D

參考

VLOOKUP function on Microsoft Office Reference

IFERROR function on Microsoft Office Reference

Auto fill on Microsoft Office Reference

+2

我在想,它可能是一個好一點用包裹[VLOOKUP函數(https://support.office.com/en-us/article/vlookup-function-在[IFERROR函數](https://support.office.com/en-us/article/IFERROR-function-F59BACDC-78BD-4924-91DF-A869D0B08CD5)中可以返回[adceda66-30de-4f26-923b-7257939faa65]原來如果新的不能定位。例如'= IFERROR(VLOOKUP(C2,A:B,2,FALSE),C2)' – Jeeped

+0

@Jeeped真的是個好主意,可以避免合併沒有改變的Id的兩步過程。我將把它列入我的答案。 –

+0

@JosephB謝謝你的回覆,我明天會嘗試這個,並在工作時接受答案 – user1807844