写在前面的关于公式的一个小细节:
有时候我们在单元格内输入公式后,显示的只是公式而不是结果有两种原因,
原因1:单元格格式不对,公式单元格格式必须为常规
原因2:单元格里公式前面没有输入“=”号
需求:根据部门名称,找出其对应的所有员工姓名
VLOOKUP函数智能找到收个匹配数据,当有四个“开发部”同时存在时,很自然地,它只能默认为匹配首个,也就是说只能返回“孙权”。
思路:可以看到,部门人数都不是唯一,我们可以给每个部门的成员一个唯一“编号”,比如财务部,3个人可以分别编成“财务部1”、“财务部2”、“财务部3”这样,这样每名员工就都会有一个唯一的“编号”,把这个唯一的“编号”作为查找值即可解决这个问题!
问题可以拆分成两步进行:
第一步,构造辅助列把部门变成唯一索引值
用COUNTIF函数构造辅助列,COUNTIF函数的功能是根据条件计数,=COUNTIF($B$1:B2,B2),可以看到对每个部门出现的次数进行了统计,得到了每个部门的编码
接下来,我们用“&”连接符把部门和编码组合起来,形成一个唯一的“编号”,完成改造,=B2&COUNTIF($B$1:B2,B2)
第二步,索引列构造,用VLOOKUP函数查找
查询表只有一个部门,如何给他加上编码呢?这里可以用ROW函数构造编码:
=ROW(1:1),表示第一行至第一行
接下来,同样用“&”连接符把部门和编码组合起来,=$J$2&ROW(1:1)
最后,使用VLOOKUP函数完成查询:
=VLOOKUP($J$2&ROW(1:1),$A$2:$C$16,3,0)
最后,要注意,由于每个部门人数不定,所以后面会出现错误值,我们可以用IFERROR函数来进行美化:
=IFERROR(VLOOKUP($J$2&ROW(1:1),$A$2:$C$16,3,0),"")
原文:https://www.cnblogs.com/yongzhao/p/14806619.html