前言 在日常工作中我们经常要整理多个部门的数据,为了方便录入。我们会特意将这些数据存放在不同的sheet页中。这样确实方便了数据录入,可以有时我们需要在这些数据中进行查找。有没有很好的方法来实现这个功能呢?今天勇哥将给大家介绍几种从sheet中查询到需要的数据。
【例】考核信息表中,每个部门一个表。
在查找表中,需要根据提供的姓名,从技术部~系统部中查找员工对应的考核成绩。
分析:
如果我们知道A1是技术部的,那么公式可以写为vlookup(A1,技术部!A:C,3,false)
如果我们知道A1可能在技术部或者开发部这两个表中,那么公式可以写为
iferror(vlookup(A1,技术部!A:C,3,false),vlookup(A1,开发部!A:C,3,false))
意思就是说,如果在技术部表中查不到(使用iferror函数判别是否能够查找到),则去开发部的表中查找。
如果我们知道A1可能在技术部、开发部、系统部这三张表中,那么公式可以修改为
iferror(A1,技术部!A:C,3,false),iferror(vlookup(A1,开发部!A:C,3,false),vlookup(A1,系统部!A:C,3,false)))
以此类推,有更多的表。如本例有5张表,那么就得一层层的嵌套下去。这就是勇哥想给大家介绍的第一个方法。大家可以结合前面的思路,写出最终的公式。可以在文档底部,把你的公式留言给勇哥哦。
聪明的你会发现,这样写公式实在是太麻烦了。需要嵌套好多的iferror,公式修改起来非常麻烦。
下面给大家介绍一个有一定难度系数的公式。
=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({'技术部';'质量部';'开发部';'测试部';'系统部'}&'!A:A'),A2),{'技术部';'质量部';'开发部';'测试部';'系统部'}&'!A:C')),3,false)
只需要修改一下部分,就可以直接套用
A2:查找的内容
{''} : 大括号内是要查找的多个工作表名称,用分号分号隔开
A:A: 本例中员工姓名位于各表的A列,如果在B列则为B:B
A:C: 表示vlookup查找的区域
3: 表示是返回查找区域的第三列
分析思路
确定员工在哪个表中。这里使用countif函数可以多表统计来分别计算出各个表中员工存在的个数。
利用lookup(1,0/数组,数组) 构造出相应的工作表区域
利用indirect函数把字符串转换为单元格引用
利用vlookup进行查找
总结
本文介绍了如何使用vlookup从多个sheet页中查找到需要的数据信息,希望通过这个案例可以帮助大家更一步地了解vlookup的使用方法,更好地解决工作中的问题。
联系客服