在很多Excel用户眼中,会用Vlookup函数、Lookup函数似乎很利害了。其实远远不够,在实际工作中有很多高难问题需要多个函数组合才能完成。 有一个查询是很多人做梦都想实现的,可惜vlookup、Lookup都实现不了。它就是多表查询。下面就展示一下查询结果,让大家先见识一下这种查询有多牛。 【例】工资的跨表查询 Excel工作簿中有N个部门的工资表 在查询表中,给定姓名,竟然可以查出该员工所在的部门和工资 是不是你梦想中的查询公式?下面就一步步揭开这个神秘公式的真面目。 判断员工是哪个部门的,可以用Countif函数计算个数,而多个表也难不住我们,前天的跨表求和中已学会了indirect函数多表引用的方法。 =COUNTIF(INDIRECT({'财务部';'人事部';'服务部'}&'!a:a'),A2) 测试结果: 选取公式按F9键可以返回一个数组{0;1;0},其中非0数字1的位置的即是员工所在表的位置(该员工在第2个表中) 问题是知道1的位置,怎么把表名给提取出来?接下来要请了第3个大神函数:Lookup函数。用它经典的lookup(1,0/ 套路正好可以解决这个问题 =LOOKUP(1,0/COUNTIF(INDIRECT({'财务部';'人事部';'服务部'}&'!a:a'),A2),{'财务部';'人事部';'服务部'}) 至此,所在部门查询完成! 有了部门查工资,就简单多了,Vlookup配合indirect函数可以轻松搞定! =VLOOKUP(A2,INDIRECT(B2&'!A:B'),2,0) 最终,我们用了4个大神函数(Vlookup函数、Lookup、Countif、Indirect函数)搞定了这个历史性的查询难题。不少同学也会用这几个函数,可公式自已写不出来。这就是你与excel高手的区别,会用函数只是第1步,灵活应用才是最高境界。这需要长时间的练习和应用。 |
|
来自: 昵称38017100 > 《表格使用学习》