簡體   English   中英

如果在 MS EXCEL 中匹配,則將具有重復項的列值替換為另一列

[英]replace a column value having duplicates with another column if matched in MS EXCEL

我有一個表,比如說有 4 列的 TABLE-1。 列是 (ID, NAME, GROUP_NAME, IS_APPROVER),ID 不是主鍵。 有許多行具有相同的 ID。 現在我得到了一個新表,比如帶有列的 TABLE-2,(NEW_ID,OLD_IDs),在這個表(TABLE-2)中,OLD_ID 是主鍵。 我必須將 TABLE-1 中的所有 ID 值替換為 NEW_ID(在 TABLE-2 中)值,並使用 OLD_ID(在 TABLE-2 中)進行比較。 我怎樣才能做到這一點?

假設您的表格如下所示:

表格示例

您應該能夠結合使用 INDEX 和 MATCH 來獲得所需的結果:

=INDEX(TABLE-2[NEW_ID],(MATCH(TABLE-1[@ID],TABLE-2[OLD_IDs],0)))

如果您的數據實際上不在表格中,而是在范圍內,則一般公式為:

=INDEX(ColumnFromWhichValueShouldBeReturned, (MATCH(LookupValue, ColumnAgainstWhichToLookup, 0)))

編輯以下來自 OP 的更多信息:

如果不是所有 ID 都在 TABLE-2 中匹配,您可以使用以下內容:

=IFERROR(INDEX(TABLE-2[NEW_ID],(MATCH(TABLE-1[@ID],TABLE-2[OLD_IDs],0))), Table1[@ID])

在實踐中,你可以在下面看到這個工作:

顯示在實踐中工作的公式

您可以潛在地使用 VLOOKUP 使其更容易一些。在此處輸入圖片說明

我在第一個表中添加了一個新列,該列的公式很簡單

=VLOOKUP([@ID], Table2[#All], 2)

這是解決方案..

參考: https : //www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/

=INDEX(Table_2[NewIDs],MATCH(Table_1[@ID],Table_2[Old_ID],0​​)) 例如:=INDEX($K$2:$K$253,MATCH(B2,$J$2:$J$253,0) ))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM