更具体地说,假设工作表上有完整的名称和地址列表。还有第二个工作表,其中包含完整工作表中的一部分名称,以及新更新的地址。
有没有办法遍历整张表上的所有名称,检查它是否与修订表中的任何名称相匹配,如果是,请使用相关的新地址更新整张表上的相关地址从第二张?
我设法让它成功地检查来自sheet1的名称与sheet2上的名字,但我不知道如何告诉公式在匹配的情况下从哪个单元格获取地址信息。< / p>
单元格的格式是两个工作表的名字,姓氏,地址1,地址2,城市,州,邮政编码。
答案 0 :(得分:0)
VLOOKUP是您正在寻找的功能。掌握了这一点后,您可能需要查看INDEX AND MATCH函数,它们可以更有效地(有时)实现相同的结果。
有关VLOOKUP的完整说明,请参阅Microsoft's support page for VLOOKUP
为每个人提供唯一的ID代码非常有用。如果有,请将其包含在两个数据集的A列中。如果您没有,则可以构建ID字段,但是您需要进行一些手动操作以确保它是唯一的。 (建议在答案结束时如何构建ID代码。)
将ID放在A列中。列B-H将包含您的其他字段,因此address1将位于D列中。
您将需要原始数据的绝对参考。让我们用旧数据Worksheet1和带有新数据Worksheet2的工作表调用工作表。然后原始数据(包括ID代码)的参考将是工作表1!$ A:$ H
VLOOKUP会将新工作表中的ID代码与旧工作表中的ID代码进行匹配,然后从您指定的列中提取数据。要查找新数据集中第一个人的匹配地址1,您可以使用以下公式:
=VLOOKUP(A1,Worksheet1!$A:$H,4,0)
,其中
对于要比较的每个列执行一次(address2看起来与address1相同,但将引用第5列而不是第4列)。 Havind完成此操作后,您可以复制到新工作表中的其余行。
上面的过程会将旧数据拉入新工作表的相应行。如果您只是想知道特定字段是否有变化,您可以执行以下操作:
=IF(D1=VLOOKUP(A1,Worksheet1!$A:$H,4,0),"","changed")
显然有很多方法可以改进这些并压缩信息。