使用VLOOKUP实现一对多查找

说起VLOOKUP函数的一对多查询,相信有很多小伙伴想到的都是使用COUNTIF函数做辅助数据,然后再使用VLOOKUP查询得到所需结果就可以了,而成都office培训学校小编今天给大家介绍的也是关于使用辅助列和VLOOKUP函数进行一对多查询的方法,只不过辅助列内所使用的不是COUNTIF函数,而是另一个公式,具体内容请往下看:

具体操作步骤如下:

1.制作辅助列数据

在A2单元格内输入公式:=(C2=G$1)+A1后往下填充

公式说明:

(C2=G$1)部分,用C列的部门与G1单元格指定的部门进行对比,如果相同,返回逻辑值TRUE,否则返回逻辑值FALSE。

然后将返回的逻辑值与前一个单元格中的数值相加。(因此,A1单元格内不能存放除0之外的数据)

在四则运算中,TRUE的作用相当于1,FALSE的作用相当于0。也就是如果部门和性别两个条件都符合了,D列的数值就增加1,否则还等于前一个数值。

注意观察,1、2、3、4……这些序号首次出现的行,就是符合条件的记录。

2.使用VLOOKUP函数进行一堆多查询

在G4单元格内输入公式:=IFERROR(VLOOKUP(ROW(A1),A:B,2,0),””)后往下填充

公式说明:

  • B列的部门每重复出现一次,A列的序号增加1。
  • VLOOKUP函数使用ROW(A1)得到1至N的递增序列作为查询值,在A:B列这个查询区域中,依次返回与递增序号相对应的B列的姓名。由于VLOOKUP在有多个匹配结果时,默认返回第一条记录,所以只会返回A列中各个序号首次出现的记录。
  • 注意查找区域必须由辅助列A列开始。
  • 最后将辅助列进行隐藏即可。

本次分享到这就结束了,希望对你有所帮助!

VLOOKUP合并单元格多条件查询

同事A:你知道要根据姓名查找联系方式该用什么函数吗?

同事B:这你都不知道啊,你也太小白了吧。要说查找匹配类的问题,那肯定首选VLOOKUP函数了呀。这么简单的问题,都还要问我,还不快去学起来!

说起VLOOKUP函数,想必很多小伙伴都不会陌生了。作为查询匹配界的大佬,VLOOKUP函数为提高我们的工作效率做了非常大的贡献。而今天成都office培训班小编想要跟大家分享的是,如何使用VLOOKUP函数在带有合并单元格的数据中实现多条件查找。如下图所示:需要根据指定的部门和考核名次,查询相应的员工姓名和业绩

VLOOKUP函数的参数,想来小伙伴们也已经很熟悉了。不过,我了防止看到这篇文章的小伙伴部清楚或忘了,小编在这里还是再多嘴一句,VLOOKUP的参数形式为:VLOOKUP(查询依据,查找范围,查找内容在查找范围的第几列,0)

H2单元格的公式为:=VLOOKUP(G2,OFFSET(B1:C1,MATCH(F2,A2:A21,),0,5),2,1)

公式说明:

在本案例的公式VLOOKUP(G2,OFFSET(B1:C1,MATCH(F2,A2:A21,),0,5),2,1)中:

1.MATCH(F2,A2:A21,0):先使用MATCH定位F2单元格内的部门在A2:A21区域内的第几行

2.再使用OFFSET函数以B1:C1为参考区域,向下偏移MATCH(F2,A2:A21,0)行,不向右偏移列,形成的新的引用区域为5行1列

3.最后再使用VLOOKUP函数在offset函数形成的新的引用区域中,根据部分查找对应姓名

4.简单来说:先用MATCH函数根据班级定位查找区域起始位置,再借助OFFSET函数引用目标区域,最后传递给VLOOKUP函数作为查询区域。

说在最后:当然,本公式也存在一定的限制,那就是需要合并单元格所占用的行数是一样的,就像本案例中,每个部门都只是录入了考核成绩前五名的数据哦。

今天的分享就到这了,你学会了吗?如果你有更好更简单的方法,欢迎留言和小编一起分享学习哦!

如何快速实现跨表查询?

当需要把多个工作表内的数据汇总到同一张工作表内时,你是用什么方法去实现的呢?逐个复制粘贴耗时又耗力,反复修改公式也麻烦。成都office培训中心小编说,其实只需要把VLOOKUP函数和INDIRECT函数结合起来使用,就可以写出一个通用的跨表查询的公式了。

1月到4月内的工作表内容如下图所示:

只需要在汇总表格的B2单元格内输入公式:=VLOOKUP($A2,INDIRECT(B$1&”!A:B”),2,0)后向右向下拖动填充剂可完成最终的数据汇总

公式说明:

  1. INDIRECT函数作用:返回由文本字符串指定的引用
  2. 本例中INDIRECT函数指定的引用为:INDIRECT(B$1&”!A:B”)。即为以B1单元格内容为名称的工作表内的A列到B列单元格。如B1单元格内容为1月,INDIRECT则指定引用1月这张工作表内的A列到 B列
  3. 其中B1单元格有使用混合引用锁定了单元格所在行,当公式向下填充时,此单元格所在行不会发生变化。当公式向右填充时,其所在列发生相应变化,依次变为C$1、D$1、E$1以便形成动态引用
  4. 当公式从B2单元格向右填充到 C2单元格时,则引用名为2月白的这张工作表内的A列和B列内容,以此类推。
  5. 最后,现使用VLOOKUP函数去查询相应的数据即可 。

VLOOKUP和CHOOSE实现多条件查找

根据条件查询匹配数据,是很多从事文员行政等工作的小伙伴们经常会遇到的问题。当你碰到一样的需求时,你会使用什么方法去完成呢?看到这个地方,可能就会有小伙伴说,这还不简单,用VLOOKUP和MATCH函数就可以了。 是的没错,在二维表格内,VLOOKUP和MATCH是可以实现多条件查询的,可如果是在一维表格里又该怎么办呢?且看成都office培训学校小编如何做:

如下图,表格内统计有公司个销售员的业绩明细数据,现在需要根据员工姓名和所在部门去查询相应的业绩信息:

在这个案例里面,需要使用到的函数有两个,分别是VLOOKUP和CHOOSE函数,G2单元格内公式为:=VLOOKUP(E2&F2,CHOOSE({1,2},A2:A18&B2:B18,C2:C18),2,0) (注意:此公式为数组公式,office365以下版本都需要按Ctrl+Shift+回车三键结束)

公式解释:

  1. VLOOKUP函数的查询依据为E2&F2
  2. CHOOSE函数的作用是根据给到的索引值,返回索引值对应位置的value值,参数形式为CHOOSE(索引值,value1,value2,value3),其中,value的数量不能低于索引值(如索引值为3,则至少要有3个value值)。如CHOOSE(2,”春”,”夏”,”秋”,”冬”)中,CHOOSE函数的索引值为2,因此CHOOSE函数返回value的值,也就是夏
  3. 此案例中,CHOOSE({1,2},A2:A18&B2:B18,C2:C18)中,当choose索引值为1时,则返回A2:A18&B2:B18,当choose索引值为2时,则返回C2:C18区域(给vlookup函数构建一个新的条件区域,新的查询区域中,第一列数据则为A2:A18&B2:B18,第2列数据为C2:C18)
  4. 最后,VLOOKUP函数以精确查找模式,返回新的查询区域中第2列,即为业绩所在列的数据。

使用VLOOKUP函数进行账龄分析

所谓账龄,指的是指公司尚未收回的应收账款的时间长度,账龄是在分析应收账款时最为重要的信息。账龄越高,则发生坏账的风险越大。今天,成都办公软件培训学校小编将和大家分享,在excel中如何使用VLOOKUP进行账龄分析,下表为应收款账目表,现在需要去计算每个客户的账龄区间:

在D2单元格内输入公式:=VLOOKUP(TODAY()-C2,{0,”0-30天”;30,”30-60天”;60,”60天以上”},2,1)后回车,然后往下填充即可

公式说明:

VLOOKUP(TODAY()-C2,{0,”0-30天”;30,”30-60天”;60,”60天以上”},2,1),用当前系统时间减去B2单元格内的应收款日期得到的账龄天数作为VLOOKUP函数的查找依据,然后再用二维内存数据{0,”0-30天”;30,”30-60天”;60,”60天以上”}作为查找范围,此二维数组可转换为如下图所示表格

如果你觉得上述公式过长的话,也可以先把账龄天数和账龄级别对应表制作出来后,再使用VLOOKUP函数在表格内进行模糊查询即可。