10
2020-05
Excel技术|IF嵌套套晕自己?试试lookup吧
数据分段&分组是一个非常常规的数据操作,但是分组组数比较多的时候就容易写IF嵌套套晕自己,不妨试试lookup函数,说不定有奇效哦~
LEARN MORE
那些让人又爱又恨的分段操作
分段、分组,基本可以说是人力数据分析中最最最常见的操作之一了:
年龄——分成20 ;30 ;40 ……
代际——分成90s;80s;70s;60s……
职级——分成5级以下;6-8级;……
出勤时长——分成8小时及以下;8-9小时;9-10小时……
hr圈的小伙伴都知道,这些基本信息,分段(装逼一点的话可以来个机器学习数据特征工程的术语叫分箱)真的是硬需求,每天不来几个分段写几个if函数嵌套就仿佛没有处理过数据一样。
if函数虽然好用,但是要分的组多了的话(大于6个),手敲很长一串公式,很难保证不出差错(特别的中英文符号,括号之类的细节问题),甚至不少人在嵌套多了以后逻辑都捋不清楚,真的是,说多了全是泪。拿我来说吧,由于职级分段的公式总是敲错,后来索性把正确的公式存在了收藏夹里,每次需要用的时候直接翻出来复制粘贴一下。
今天就给大家介绍一个不用那么复杂的嵌套实现数据分段的操作——lookup函数。
函数语法
可能很多小伙伴都很熟悉vlookup函数的使用,甚至说很多时候,会vlookup就已经击败了60%的对手。实际上,和vlookup的爸爸lookup相比,vlookup能够实现的功能只是九牛一毛,如果你掌握了lookup函数的使用,距离Excel达人就更近了一步。
我们先看一下lookup函数的公式:
LOOKUP(lookup_value,lookup_vector,result_vector)
——lookup_value意思为我们要在数据表中查找的“值”
——lookup_vector意思为我们要查找的值得“数据表”
——result_vector意思为我们通过数据表想要得到的"值“
看起来是不是还挺简单的?其实使用的时候lookup函数相对于vlookup函数要复杂一些,复杂的原因主要来源于vlookup函数的查找是精准查找,而lookup的逻辑则是二分法查询,简单来说,二分法查询要求查询列必须是升序排列。并且lookup在没有精确匹配对象时,返回小于等于目标值的最大值,看起来似乎lookup适用场景比vlookup要少,实际上lookup虽然在要求查询匹配的场合表现不佳,但是在其他场合的表现却出乎意料的精彩,比如多个区间条件判断,即if多层嵌套的场合。
实战演练
首先我们来看一个业务场景:
公司根据员工的绩效成绩进行了分数段的划分,具体如下图所示,需要我们根据这个规则把每位员工的考核结果匹配出来。
这是一个非常常见的业务场景,为了便于演示就写了一个分段很多的场景,一般来说真实的业务场景下应该不会划分这么多分段。
按照传统的if函数嵌套的逻辑,我们可能需要写很长很长的一串函数,还有可能写错。如果用lookup函数来写就简单多了。
首先,我们做一个辅助列,把每个分段的末端值给单独写出来,给大家赠送一个小窍门:手敲前两个值,然后CTRL E,后面的数值就自动填充好了~
接下来就是见证奇迹的时刻了,演示一下lookup的用法:
嗯对,没了,就是这么简单,看起来怎么样?比写一大堆if函数好多了吧?这么写还有一个好处,那就是……老板随便你改标准,我改改字就好了~