vlookup函数的高级使用方法及实例


vlookup函数的高级使用方法及实例  

工作实例解析:员工信息匹配与整合

假设我们有一个左侧的人事信息表,其中包含部门与员工信息,每个部门拥有多名员工。现在的任务是根据姓名查找匹配所有员工信息,并将结果整合在一个单元格内。让我们通过实际工作示例来探讨如何实现这一需求。

方法一:Vlookup结合辅助列

由于需要实现一对多的查找匹配,我们可以借助辅助列来完成。首先在右侧空白列输入以下公式:

=IFERROR(VLOOKUP(A2, A3:D100, 4, FALSE), "") & "," & B2

这个公式的工作原理是,当查找A2中的市场部时,会在A3:D100区域内进行匹配,找到对应D行的数据,并与B2单元格的内容连接。通过这种方式,可以串联起所有同部门员工的信息。然后在G2单元格输入以下公式:

=MID(VLOOKUP(F2, A:D, 4, FALSE), 2, 100)

这个公式首先通过VLOOKUP函数查找匹配第一个结果,然后使用MID函数去除结果字符串最左边的逗号,得到我们想要的结果。

方法二:利用TEXTJOIN和IF函数

如果我们不想使用辅助列,可以结合IF函数和TEXTJOIN公式来完成。使用IF函数提取对应部门的信息,其他部分则设为空白。公式如下:

=IF(A:A=E2, B:B, "")

这个公式只会保留市场部对应的员工信息。然后,使用TEXTJOIN公式将这些文本连接起来,通过设置第二参数为TRUE,可以自动忽略空白值。组合用法如下:

=TEXTJOIN(",", TRUE, IF(A:A=E2, B:B, ""))

第一个参数是分隔符,这里使用逗号;第二个参数TRUE表示忽略空白值;第三个参数是要连接的文本,使用IF函数嵌套。

方法三:结合FILTER和ARRAYTOTEXT

我们可以使用FILTER公式来筛选员工信息。输入以下公式:

=FILTER(B:B, A:A=E2)

这个公式会筛选B列的数据,条件是A列等于E2的值,从而得到市场部的所有员工信息。但是结果会分布在不同的单元格内。如果想要将结果整合在一个单元格内,可以使用ARRAYTOTEXT公式:

=ARRAYTOTEXT(FILTER(B:B, A:A=E2))

这个公式会将筛选出的文本用逗号连接起来,得到我们想要的结果。

以上三种方法各有特点,你可以根据自己的喜好和实际需求选择合适的方法。动动手,尝试一下,看看哪种方法更适合你!

  vlookup函数的高级使用方法及实例