Vba 比较两个不同长度的列表并返回数据

Vba 比较两个不同长度的列表并返回数据,vba,excel,Vba,Excel,我有一个工作簿,有两张工作表F1和F2。 在每个表中,列A是姓氏,列B是名,列C是部门名称F2缺少部门名称 我试图将F2中的名称与F1中的名称进行比较和匹配,并将F1的列C中的部门名称返回到F2的列C 我遇到的困难是F1的列表比F2的列表长得多。否则我可以做一个简单的比较 谢谢您的帮助。如果我们有这样的数据: 活页F1 我们想要这个: 第F2页 可以使用C列中的数组公式(使用Ctrl+Shift+Enter输入) 然后填好以适应 如果您发现该公式的执行时间太长,您可以缩小连接到特定数据的范围。i

我有一个工作簿,有两张工作表
F1
F2
。 在每个表中,
列A
是姓氏,
列B
是名,
列C
是部门名称<代码>F2缺少部门名称

我试图将
F2
中的名称与
F1
中的名称进行比较和匹配,并将
F1
列C
中的部门名称返回到
F2
列C

我遇到的困难是
F1
的列表比
F2
的列表长得多。否则我可以做一个简单的比较


谢谢您的帮助。

如果我们有这样的数据:

活页F1 我们想要这个:

第F2页 可以使用C列中的数组公式(使用Ctrl+Shift+Enter输入)

然后填好以适应

如果您发现该公式的执行时间太长,您可以缩小连接到特定数据的
范围。i、 e:

=INDEX(F1!C:C,MATCH(CONCATENATE(F2!A2,F2!B2),CONCATENATE(F1!$A$1:$A$5,F1!$B$1:$B$5),0))

会不会有一种情况,相同的名字和姓氏指向两个不同的部门?你需要找到部门曼弗雷德,我们的“比较”?比较对你来说意味着什么。可以将辅助列添加到F1吗?如果是,那么您可以使用
VLOOKUP
No轻松解决您的问题。至少不应该有。我只需要将部门名称从F1返回到F2。我可以添加一个助手列。那时候我需要做什么?太快了。我正忙着截图。。。我总是使用
&
来连接简单的字符串,但我们也在做同样的事情。非常好。这很有效,非常感谢。对于一些人来说,它没有返回部门,但这是因为F2是用户提交的,而F1是我们的数据库,所以任何拼写错误都不会匹配。但你的公式得到了210个排序中的180个。我可以手动操作30次。:-)@bentosmith啊,好吧,如果你可能在连接中使用通配符“*”,这30个“可能”匹配。但你也可能会得到一些误报。。。很高兴它成功了
     A           B          C
----------------------------------
Last Name   First Name  Department
Bar3        Foo                  3
=INDEX(F1!C:C,MATCH(CONCATENATE(F2!A2,F2!B2),CONCATENATE(F1!A:A,F1!B:B),0))
=INDEX(F1!C:C,MATCH(CONCATENATE(F2!A2,F2!B2),CONCATENATE(F1!$A$1:$A$5,F1!$B$1:$B$5),0))