我有一个表,比如说有两列的TABLE-1。列是(ID,NAME,GROUP_NAME,IS_APPROVER),ID不是主键。有许多行具有相同的ID。现在我得到了一个新表,比如带有列的TABLE-2,(NEW_ID,OLD_ID),在此表(表-2)中,OLD_ID是主键。我必须替换TABLE-1中ID的所有值,并使用OLD_ID(在表-2中)比较NEW_ID(在TABLE-2中)值。我怎么能这样做?
答案 0 :(得分:0)
假设您的表格如下所示:
您应该能够使用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])
在实践中,您可以看到以下内容:
答案 1 :(得分:0)
您可以使用VLOOKUP使其更容易一些。
我在第一个表中添加了一个新列,该列的公式只是
=VLOOKUP([@ID], Table2[#All], 2)
答案 2 :(得分:-3)
这是解决方案..
参考: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))