在实际工作中,很多场合需要用合并单元格来展示数据。
它比较直观,而且还条理分明,是很多小白和领导们的最爱。
但是对于稍懂 Excel 的人来说,却很反对使用合并单元格,认为合并单元格的坑太多,然而,在工作中,却又无法避开。
今天我就来教大家,如何在有合并单元格的情况下,实现查找。如下图:
现在需要查找出李四是属于哪个部门的?
这里我给出两种解决方法。
辅助列+函数法
大部分场合,我们使用辅助列,可以使问题简单化。
下面我们就一起来看看如何操作。
具体步骤如下:
❶ 在原始数据旁边增加一个辅助列,比如在 D2 单元格输入公式:
=LOOKUP("座",$B$2:B2)
并填充至 D8 单元格,如下图:
公式大概的意思是:
在$B$2:B2 这个单元格区域里面查找小于或者等于「 座 」字的文本,然后返回这个区域里面最后一个文本值。
在这个$B$2:B2 区域里,只有「财务部」这一个文本值,而且「财务部」这个文本值比「座」字要小,所以返回「财务部」。
将 D2 单元格的公式,向下复制到 D3 单元格,LOOKUP 里面的区域会变成:
=LOOKUP("座",$B$2:B3)
在这个区域中查找最后一个文本值,因为 B3 单元格是空白单元格,所以还是返回 B2 这个单元格中的内容,即「财务部」,以下依次类推。
PS:大家知道,为什么这里的公式要用「座」来判断吗?为什么「座」比「财务部」要大吗?留言区揭晓答案哦~记得看到最后!
❷ F2 单元格输入公式:
=VLOOKUP(E2,A2:D8,4,FALSE)
公式大概的意思是:
用 VLOOKUP 函数在 A2:D8 这个区域查找李四,并且返回第 4 列对应的值,也就是这个辅助列的所属部门。
PS:当然,这里使用「LOOKUP(1,0/(查找的区域=查找值),返回的区域)」这个经典查找套路,也是可以的。
函数法
有函数控的小伙伴们,一般情况下是喜欢一步到位的。
一个公式,就可以搞定:
=LOOKUP("座",INDIRECT("B2:B"&MATCH(E2,A:A,0)))▲ 左右滑动查看
公式大概的意思是:
❶ 使用 MATCH 函数,查找 E2 单元格的姓名在 A 列中的位置,结果返回 3 ,然后「"B2:B"&3」,会变成「"B2:B3"」;
❷ 再由 INDIRECT 函数返回「"B2:B3"」这个区域的引用。
因为「"B2:B3"」只是文本,并不是真正的单元格引用。
因此必须使用 INDIRECT 函数,将文本型的单元格引用「"B2:B3"」,变成真正的单元格引用 B2:B3。
PS:相当于把双引号去掉。
❸ 在 B2:B3 这个区域里面使用 LOOKUP 函数查找最后一个文本值。
因为 B3 单元格为空白单元格,所以返回 B2 单元格的「财务部」。
总结一下
❶ 第一种方法虽然有点麻烦,多加了一个辅助列,但是并没有什么函数嵌套,会使得 VLOOKUP 等函数公式简单化。而且公式的运行速度也快很多。
第二种方法,虽然一个公式就可以搞定。但是函数的嵌套比较多,数据量大的话,公式的运行速度会变慢。
这里我个人建议:
函数刚入门的小伙伴们,可以使用第一种方法,然后循序渐进地学习,慢慢过渡到第二种方法。
因为第二种方法,也是一种不错的解题思路。
❷ 给大家留道题,如下图:
Q:需要求出李四所属的部门?
跟我们文章中的例子顺序正好相反,A 列-【部门列】在 B 列-【姓名列】的左边!
会做的小伙伴们,记得在下面留言~
现在关注GZH【秋叶Excel】,在后台回复【头条】,还可以领取100+精美图表哦~