很多人一直不理解VLOOKUP函数第4个参数,输入TRUE(或者输入1,或者什么也不输),与输入FALSE(或输入0),到底有什么区别,到底怎么用。
一般的查询中,我们要对匹配条件进行精确的定位,也就是说,不管这个条件是完全一模一样的相同数据,还是含有关键词的数据,至少这个数据得真实存在,那么我们要找到这个数据(或关键词)到底藏在哪个单元格,此时的查找是一种精确的条件定位,在VLOOKUP函数中,第4个参数就必须输入FALSE或者0了,绝对不能忽略或者输入TRUE或者数字1。
但是,在有些情况下,这种条件并不一定是一个真正存在的数据,有可能并不存在,但是我们必须抓到一个近似匹配的数据,此时就需要VLOOKUP函数的第4个参数空置,或者输入TRUE,或者输入1。
以下图数据为例,要计算每个业务员的提成,不同的达成率有不同的提成比例。就说业务员A001吧,他的达成率是110.31%,但在提成标准表里是找不到这个比例数字的,它只是坐落在100-110%这个区间内,对应的提成比例是12%。很多人会立马向导用嵌套IF,但是套过来套过去多麻烦啊。
如果在提成标准的左边做一个辅助列,输入达成率区间的下限值,并做升序排序,那么使用VLOOKUP函数做下面的查找公式(第4个参数忽略),就非常方便的找出每个人的提成比例了:
=VLOOKUP(D2,$I$2:$K$15,3)
或者
=VLOOKUP(D2,$I$2:$K$15,3,1)
此时,VLOOKUP函数的查找原理和逻辑是这样的:你现在命令它去I列里搜索数值110.31%,找了一圈没找到,它就问:找不到110.31%怎么办?好了,你现在把第4个参数留空了,就是在命令它:往回找,去找小于或等于110.31%的最大值(就是在小于等于这个110.31%的所有数据中,那个最接近110.31%的数),它说,好吧,这个值是110%,它对应的提成比例是12%,你说,就是它了。
所以,当VLOOKUP函数的第4个参数留空,或者输入TRUE,或者输入1时,这个函数就是寻找最接近与指定条件值的最大数据,此时必须满足下面的条件:
(1)查找条件需要是数字;
(2)必须在查询的左边做一个辅助列,输入区间的下限值,并升序排序;
这种模糊定位查找,可以替代嵌套IF函数,让公式更加简单,也更加高效,同时,如果提成标准变化了,公式是不需要改动的。
-----------------------------
(未完待续)
-----( 下面是广告,不喜勿喷! )-----
千聊直播间会员,不限次数畅听直播间10余个课程,数百小时学习视频。
不断有新课程在开发录制,补充上线,敬请关注。
https://m.qlchat.com/wechat/page/live/2000000952426937
下面是已经完成以及正在陆续上传的课程。