所以我有两个 excel 2010 工作簿,一个有姓名和与这些姓名相关的电话号码,另一个单独的工作簿记录了来电的姓名和时间(我不知道他们为什么从来没有写过 #)。我需要在第二张工作表上更新所有与来电姓名匹配的号码。有没有插件或方法可以自动将第一张工作表的姓名与第二张工作表匹配并自动导入号码?有超过 10,000 个条目,因此手动执行此操作是不可行的。
答案1
因为您的公式将引用不同的工作簿,所以您需要在公式中包含工作簿和工作表名称。
假设 Workbook1,Sheet1 在 A 列和 B 列分别包含姓名和电话号码。而 Workbook2,Sheet1 在 A 列和 B 列分别包含姓名和时间。
在 Workbook2 的 C1 中输入此公式并向下填充以列出与 Workbook2 的 A 列中的名称相对应的电话号码:
=VLOOKUP(A1,[Workbook1.xlsx]Sheet1!$A:$B,2,FALSE)
将“Workbook1.xlsx”替换为包含电话号码的工作簿的实际名称,将“Sheet1”替换为工作表的实际名称。
工作原理:公式获取当前工作簿 A1 中的名称,在另一个工作簿的 A 列中找到它,并从该工作簿的 B 列返回相应的电话号码。FALSE 告诉公式寻找完全匹配。
如果公式找不到精确匹配,则结果将为“#N/A”。您在问题中提到您可能对近似匹配感兴趣。这是可以做到的,但我建议您现在尝试精确匹配搜索,稍后再提出更多问题或部分结果。
答案2
我喜欢使用下面的公式而不是 VLOOKUP,对我来说效果很好。您将要从另一张表中提取的值放在第一部分,然后使用 MATCH 函数查找相应的值,在下面的示例中,公式将从 Sheet2 中的 B 列中提取数据,并与两张表中的 A 列中的值进行匹配。
=INDEX(Sheet2!$B:$B,MATCH(Sheet1!$A:$A,Sheet2!$A:$A,0))