做人事管理的某位朋友,说想要用函数查询单位不同部门员工信息,随意输入单位,所在部门的员工信息会自动查询,结果如下:
文章插图
上中的查询效果是由函数VLOOKUP实现的,过程如下解:
第一步:建立辅助列
在“部门”前增加一列,在A3单元格输入公式“=COUNTIF($B$3:B3,$H$3)” 。
【VLOOKUP完成同一部门多个员工信息查询】其中:
$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列左侧,直接拖出 。如下动:
文章插图
推荐阅读
- Vlookup逆向查询有问题,IF、CHOOSE来帮忙
- 精选24句 关于腊八大寒同一天祝福语怎么写
- PowerPoint 2013为同一个对象依次应用不同动画效果的方法
- PowerPoint 2013中在同一个演示文稿中设置放映方案的方法
- 为什么同一株绣球花能有好几种颜色的花朵
- 格式工厂如何开启转换完成后关机?
- Vlookup函数查找数值
- excel中vlookup怎么用
- VLOOKUP查找函数怎么用
- VLOOKUP函数怎么查找匹配值