体验零代码搭建

VLOOKUP完成同一部门多个员工信息查询

网友投稿  ·  2023-11-25 15:11  ·  产品资讯  ·  阅读 1318

做人事管理的某位朋友,说想要用函数查询单位不同部门员工信息,随意输入单位,所在部门的员工信息会自动查询,结果如下:

做人事管理的某位朋友,说想要用函数查询单位不同部门员工信息,随意输入单位,所在部门的员工信息会自动查询,结果如下:

VLOOKUP完成同一部门多个员工信息查询

上中的查询效果是由函数VLOOKUP实现的,过程如下解:

第一步:建立辅助列

在“部门”前增加一列,在A3单元格输入公式“=COUNTIF($B$3:B3,$H$3)”。

其中:

$B$3:B3是一个起始位置为B3不变,结束位置随着公式向下填充而增加的动态区域;

$H$3是要查询的部门。

结果如下:

假设现在要查询的部门是“市场2部”,A3处的公式“=COUNTIF($B$3:B3,$H$3)”向下填充的结果是:每遇到一个“市场2部”,数字加1,从而将“市场2部”用不同的序号区分,而且只有“市场2部”出现的行,序号才发生变化,变化方式是加1。

第二步:公式实现

在I3单元格输入公式“=IFERROR(VLOOKUP(ROW(A1),$A$2:$F$25,COLUMN(C1),0),””)”,向下向右填充,即得查询结果。

公式解析:

ROW(A1)

公式向下填充时,依次变为ROW(A2)、ROW(A3)、ROW(A4)、……即起始数字为1、步长为1的自然数序列;

COLUMN(C1)

公式向右填充时,依次变为COLUMN(D1)、COLUMN(E1)、COLUMN(F1)、……,即$A$2:$F$25数据区域中的第3、4、5……列;

VLOOKUP(ROW(A1),$A$2:$F$25,COLUMN(C1),0)

VLOOKUP使用起始数字为1、步长为1的自然数序列为查询值,使用$A$2:$F$25为查询区域,以精确匹配的方式返回第C、D、E……列的姓名、性别、职称、本月销售业绩。

VLOOKUP函数默认只能返回第一个满足条件的记录,而在自然数序列里,只有“市场2部”出现的行,序号才发生变化,所以,查出的结果是“市场2部”所有的员工信息。

IFERROR(VLOOKUP(ROW(A1),$A$2:$F$25,COLUMN(C1),0),””)

当ROW函数的结果大于A列中的最大数字时,VLOOKUP会因为查询不到结果而返回错误值#N/A,IFERROR函数屏蔽了VLOOKUP函数返回的错误值,使之返回空文本。

附:IFERROR的用用法:

语法:IFERROR(value, value_if_error)

中文语法:IFERROR(查找正确时返回值, 查询出现错误返回值)

第三步:隐藏辅助列

隐藏辅助列A列,最简单的方法是直接把鼠标放在A与B列之间,直接向左拖动,一直到隐藏;如果是取消隐藏,把鼠标放在B列左侧,直接拖出。如下动:


LEFT、RIGHT函数快速分列,快速填充 << 上一篇
2023-11-25 15:11
企业信息化总体架构
2023-11-25 15:11
下一篇 >>

相关推荐