乐于分享
好东西不私藏

Excel教程:还在为VLOOKUP烦恼?LOOKUP这4个常用套路,高手都在用!

Excel教程:还在为VLOOKUP烦恼?LOOKUP这4个常用套路,高手都在用!

点击【开通SVIP会员免费学】

EXCEL里有非常多的厉害函数

我们要介绍的LOOKUP函数就其中最厉害的函数之一

它有2个最大的特性,基于这2个最牛逼的特性,我们衍生出了很多常用套路

特性一,二分法(篇幅有限,感兴趣的可以自己研究下)

特性二,忽略错误值,这个特性就非常少了,在函数里能忽略错误值的非常非常少

上面说的特性,不懂就忽略过去向下看,我们来说说常用的套路

一、区间求值

上案例,我们最常用的绩效计算,成绩计算等

我们按照简单的if函数来做,那就要写好长的一个函数,如下:

=IF(B15<=60,"不合格",IF(AND(B15>=61,B15<=80),"一般",IF(AND(B15>=81,B15<=90),"良好","优秀")))

如果这个区间再多一点,简直就是灾难一样

我们用LOOKUP来做这个问题

第一步,我们要改造数据源

自己可以对应理解分数这的写法表示了什么

0表示0-60,这个60就比上面的数字小1(这里是整数)

61表示61-80,以此类推的理解

=LOOKUP(J9,G9:H12)

一参数,就是查找的值,二参数,就是区间范围

简单吗,任你区间千千万,只要范围改下就好了

这里唯一注意的是,因为二分法要求,分数区间必须升序排列

二、精确查找

上案例,我们要处理的是精确查找

先说说单条件的精确查找

我要通过员工id,找姓名

=LOOKUP(1,0/(B7:B14=G7),C7:C14)

固定套路语法:=LOOKUP(1,0/(条件),返回值范围)

这里就是利用了一个忽略错误值的原理,来实现查找功能

首先0/数字,永远是小于1的一个数字

如果没找到就是0/FALSE,这个结果是一个错误值,LOOKUP会忽略不计

然后拿1,去比较永远小于1的一个数字,就会拿到最后一个匹配到的结果

为什么说最后匹配的结果,我们做个试验,刚刚的案例里,我们AZQ003都是雨夜

我们修改一下, 把数学成绩对应的姓名,改为那一夜

那为什么是找到最后面的匹配结果,嘿嘿,我们来下一个套路说

我们再说下多条件查询

还记得我们上面说的语法

固定套路语法:=LOOKUP(1,0/(条件),返回值范围)

=LOOKUP(1,0/((B7:B14=G12)*(D7:D14=H12)),E7:E14)

其他没变化,就是那个套路条件这里变了,多条件用括号包起来,中间用乘法链接

三、找最后一行

我们有一个数量表,其中下面会有一个合计,但是我们位置不是固定的

我需要直接拿到数据里最后一行的数据

划重点,这里是找的数字,并且为之不固定,可能是11行,也可能是1111行

=LOOKUP(9E+307,D:D)

因为是找数字,我们这里给他一个足够大的数字就好了,9E+307

如果我能找的文本或者汉字

=LOOKUP(REPT("座",255),B:B)

这里REPT("座",255),表示255个座字,让这个汉字足够大

有的同学会说,给我看这个有啥用?我没事找他干什么

四、数据有效性(数据验证)

我们既然能找到最后一行数据

同样的道理,我们也能找到,最后一行行号

知道行号,我们就能利用这个原理,做一个智能下拉

=LOOKUP(REPT("座",255),B:B,ROW(B:B))

是不是找到了最后行

我们再利用OFFSET函数来做个自定义名称

=OFFSET(案例5!$B$2,,,LOOKUP(REPT("座",255),案例5!$B:$B,ROW(案例5!$B:$B))-1,1)

然后我们设置有效性。看看效果

用LOOKUP函数来做数据有效性,自己可以随便写,空行也一样可以拿到正确数据

今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。

点击阅读原文一键登录官网,海量视频vip任意学!(可试看)