vlookup两个工作表匹配出现公式描述


vlookup两个工作表匹配出现公式描述

示例:左侧是公司各部门的员工名单数据,现在需要根据部门查找该部门下的所有员工姓名。以下是几种实现方法:

方法一:使用辅助列结合Vlookup函数

我们在A列前插入一个辅助列。在辅助列中,我们使用以下公式:

=C2&COUNTIFS($C$2:C2,C2)

这个公式的作用是生成一个唯一标识符,表示部门中的员工序号。通过辅助列的构建,我们可以为每个部门的员工生成唯一的标识。

接下来,如果我们想查找某个部门的第一个员工,可以使用以下公式:

=VLOOKUP(F2&1,$A:$D,4,0)

这里的F2是部门名称,通过结合员工序号(这里是1),我们可以找到对应部门的第一个员工。如果想查找其他序号的员工,可以使用Column(A1)公式来替代数字序号。使用IFERROR函数来错误值。最终的公式为:

=IFERROR(VLOOKUP($F2&COLUMN(A1),$A:$D,4,0),"")

方法二:不使用辅助列的Vlookup公式实现一对多查询

我们可以直接使用VLOOKUP函数来实现一对多查询,无需使用辅助列。公式如下:

=IFERROR(VLOOKUP($E2&COLUMN(A1),IF({1,0},$B$1:$B$100&COUNTIF(INDIRECT("b1:b"&ROW($1:$100)),$E2),$C$1:$C$100),2,0),"")。这个公式的核心在于构建一个虚拟数组,将部门名称与员工序号结合作为查找值,然后使用VLOOKUP函数进行查找。为了构建虚拟数组,我们使用了COUNTIF和INDIRECT函数来计算每个员工的序号。通过IFERROR函数来错误值。这样就实现了不用辅助列的一对多查询功能。需要注意的是构建虚拟数组是解决这个问题的关键所在。总结起来就是使用查找值结合COLUMN公式的VLOOKUP函数得到想要的结果。方法三:使用FILTER+TRANSPOSE函数进行快速查找如果你的Excel版本较高可以使用FILTER+TRANSPOSE公式进行快速查找以下是相关公式:首先利用FILTER函数过滤出对应部门的所有员工数据再利用TRANSPOSE函数将结果转置呈现出来最终得到的公式为:=TRANSPOSE(FILTER(C:C,B:B=E2))这个技巧简单易用只需掌握FILTER和TRANSPOSE函数的使用方法即可快速完成查找任务。希望这些技巧能帮助到你,你可以尝试自己动手操作一下!


vlookup两个工作表匹配出现公式描述