前面我们分别介绍了vlookup函数的精确匹配和模糊匹配方法,具体可回顾 从零开始学数据分析系列—Excel基础入门(一)、从零开始学数据分析系列—Excel基础入门(二)今天我们介绍Excel的另外一个常用查找函数—lookup。
说到lookup,做数据的朋友一定不陌生,因为它与vlookup简直是孪生兄妹一样的存在,都是Excel中很常用的查找函数。具体我们看看lookup函数到底是如何使用的呢?
1.条件查询
我们还是以之前的数据为例,假设我们想知道熊大和喜洋洋两个客户的购买时间,这是一个条件查找任务。首先我们把需要查找的客户姓名单独拿出来,并且新增一列购买时间存到右边单独的表格中,如下所示。
首先,我们把熊大的购买时间找出来,这时候就可以借助lookup函数。
lookup函数参数:
lookup value:查找值
lookup vector:查找范围
result vectors:返回结果范围
在这里查找值是O2,查找范围是左表的G3:G7,返回结果范围是I3:I7,如下所示。
公式输入完毕之后回车,就得到了客户熊大的购买时间,如下所示。
喜洋洋的购买时间同理获得,最终结果如下所示,这里不再赘述。
注意:在匹配之前,购买时间列一定要先做升序排列,否则结果会出错。这点与vlookup模糊匹配类似。
2.反向查询
还记得第一次我们使用vlookup函数通过客户id查找客户姓名的场景吗?现在我们想反过来,通过年龄查找客户姓名,我们看看使用lookup函数该怎么做?
首先,把需要查找的客户年龄先单独列出来,新增一列客户姓名,用于保存查找结果,如下所示。
可以看到,我们需要将年龄为18岁和23岁对应的客户姓名找出来,使用lookup函数进行反向查询,可以在单元格内输入公式:
=LOOKUP(1,0/(H3:H7=S2),G3:G7)
公式解读:
查询值为1,0/(H3:H7=S2)的判断结果是当H3:H7范围中的值等于S2单元格中的值时,返回TRUE,否则返回FALSE,最后返回匹配结果,如下所示。
这里注意对公式中的查询范围进行锁定,然后回车下拉,可以看到所有查询结果,如下所示。
从匹配结果可以看到,18岁和23岁的客户姓名都被查找出来了,但这是针对客户年龄没有重复值的情况。如果客户年龄有重复值,最后返回结果又会如何?为了更接近真实的场景,我们对原有的客户年龄做了一些调整,故意让年龄为23岁的值出现重复,同理进行查询匹配,结果如下所示。
可以看到,18岁的匹配结果没有改变,23岁的匹配结果由原来的张三变成了熊大,说明lookup函数返回的是最后一个符合查询条件的结果。这点需要特别注意。
以上就是lookup函数的常见用法,觉得实用的朋友欢迎点赞加关注,一起学习更多Excel常用函数知识~