再往上就可以进入到4级竞技场了。

到了这个层级,很多人见到了熟悉的VLOOKUP函数。这个函数是许多朋友对于函数公式的初恋,很多人都是通过这个函数开始认识和了解Excel函数公式的,也有很多人从这里开始体会到函数公式的强大。因为熟悉,所以很多人觉得VLOOKUP函数比较简单,但要把这个函数真正理解吃透还是需要下点功夫。

这就好比游戏当中的巨人卡牌,这张牌从一开始就可以使用,非常强大也非常好用,但是越到后面才越体会到这张牌用得好不好还是有很大差别的;

HLOOKUP函数和VLOOKUP用法几乎一样,所以经常会放到一起来介绍;

接触到这些查询函数之后,难免有时候会出现查找不到目标的情况,因此有时还要对查找产生的错误值进行一些优化处理,IFERROR函数就是这类需求当中一个比较好的选择;

到了这个层级之后,许多公式往往需要进行大范围的填充复制来发挥更大的作用,在这种情况下就必须清楚的理解单元格地址的绝对引用和相对引用这两个概念了;

除此之外,ROW函数和COLUMN函数是表格中的高级计数器,可以对函数公式的大范围应用起到非常重要的辅助作用,要让公式从跑变飞,往往少不了它俩的出手相助,就好比游戏里的狂暴药水一样,非常有用的一种辅助类法术;

COUNTIF函数和SUMIF函数,可以把单一的个数统计和求和运算,变成具备一定筛选功能的统计,这就比原先的统计方式更加提升了一步;

最后一个RANK函数可以在不改变数据原有排列顺序的情况下得到每个数的排名,比排序操作来的更加灵活方便。

以上这些就是这个层级当中这些函数的一个基本介绍。

接下来,我也举一个具体的例子,来详细讲一讲VLOOKUP函数的用法。

很多时候我们都会整理出一些信息表,比如员工信息表、商品信息表、材料明细表等等,有时候我们会需要根据某些关键信息去这些表里面查询与之相关的内容,比如根据员工的姓名去信息表中查询他的学历,根据某个商品编号去信息表中查询它的进货价格等等,在这类需求当中,如果依靠人工查找的话既费时又费力,而使用VLOOKUP函数则可以很轻松的实现大批量的自动查询,因此也有朋友把VLOOKUP函数称为“查表函数”。

iferror函数的使用方法_iferror函数怎么使用_iferror怎么和函数使用

信息查询案例

比如在上面这张图当中iferror函数的使用方法,F列到J列提供了一份培训信息库,里面包含了许多员工参加培训的一些信息。现在B列当中提供了一些待查询的员工姓名,需要根据这些提供的名单,找出他们参加的培训课程名称以及取得的学分。这个问题就是适合使用VLOOKUP函数来处理的一个典型问题。

下面先来看一下VLOOKUP函数的语法规则:

VLOOKUP函数语法规则

VLOOKUP函数需要设置四个参数来进行具体的查询,第一个参数是查询依据,也就是用于查询的关键信息iferror函数的使用方法,例如待查询的某个姓名或是某个商品编号等等。

第二个参数是信息源,也就是需要给出存放具体信息的信息库所在的单元格范围。这里需要注意的一个问题是,不管信息库本身有多少列,必须用可以找到关键信息的那一列作为查询范围的首列。比如假定用姓名作为关键信息进行查询的话,这个单元格范围就必须以信息库当中的姓名列作为首列,而是要编号进行查询的话,就必须以编号列作为首列。

下面这个图上就给出了一个具体的例子,比如我希望根据姓名作为关键信息来查询学历,那么第二参数选择信息库范围时就应该从姓名列开始一直包含到学历列;而如果希望根据编号来查询学历,那么第二参数的选择范围就要从编号列开始选取一直包含到学历列为止。

第三个参数要给出目标位置,也就是想要查询的具体信息在信息源范围当中的相对列序号,这句话听上去比较拗口,实际操作的时候可以这样来确定:假定希望根据姓名找出学历信息,那么在信息库当中以姓名作为首列,从姓名列开始一直到学历所在的列,总共包含了多少列,就是这个参数的取值。

比如在前面的图中可以看到,如果用姓名查学历的话,那么第三参数就是5,从姓名列到学历列一共包含了5列;如果用编号来查询学历的话,那么第三参数就应该取6,其中一共包含了6列。

第四个参数用来设定VLOOKUP函数的工作模式,通常取值为0表示工作模式为精确查找。

搞清楚这四个参数的具体含义和设置规则之后,就不难写出整个VLOOKUP公式了。在前面那个案例当中使用这个公式,就可以完成几个人的信息查询,具体可以看一下下面这张图:

这张图上,查找课程名称和查找学分使用了两个不同的VLOOKUP公式,其中的区别就在于第三参数的设置上,需要根据具体信息存放的位置来调整,一个设成2,另一个设成4。

在这个结果当中,我们看到庄伟、王美芬、黄桂晶这几个人的相关信息都用公式查找到了,但是周爱晖的查询结果显示了两个错误值#N/A,这是因为在F列提供的培训信息库名单当中没有这位员工的相关信息。因此VLOOKUP函数会得到一个错误值,以此来表示没有找到目标的这么一个结果。与此类似的,LOOKUP、MATCH等其他一些查找函数也会在查询不到目标的情况下返回这样的错误值。

有些朋友觉得错误值太扎眼,希望进行一些优化处理,不让这些错误值显示出来,而是使用一些更加友好的提示信息来替代,比如“信息不存在”等等。这类需求就可以派IFERROR函数来登场了。

IFERROR函数和IF函数的用法有些相似,但也有不同。它只需要两个参数,第一个参数是需要判断是否出现错误值的对象,通常是另外的某个公式,比如我们上面所使用的VLOOKUP查询公式,如果这个对象没有出现错误,就直接得到它的结果,如果出现错误,那就得到第二参数中设定的另外一个结果。因此,我们把这个函数用上,就可以让前面案例中的结果显得更好看一些:

从这张图上可以看到,我们把VLOOKUP函数这部分作为IFERROR函数的第一个参数来使用,如果VLOOKUP函数能够正常查找的话,就直接显示结果了;如果找不到目标产生错误值呢,那么就用IFERROR函数第二个参数中所设定的结果来替代。所以周爱晖的查询结果就会显示“无”这个字表示没有找到。

5级竞技场

更进一步就来到了5级竞技场。

在这一级别当中,你应该了解更多的查询引用函数例如MATCH函数和INDEX函数,来处理一些更加复杂的查询问题,例如交叉查询。这两个函数经常配合起来一起使用,就好比游戏当中白王子和黑王子两张卡牌;

与他们关系密切的还有OFFSET函数和INDIRECT函数,这两个函数的特点是可以通过给定的行列坐标,定位到一个具体的单元格对象上。这就好比游戏中的闪电和火箭这样的远程武器卡牌,可以精确打击战场上的任意一个位置;

最后两个COUNTIFS函数和SUMIFS函数是前一级竞技场中COUNTIF函数和SUMIF函数的升级版,他们差别就在于函数名称当中的那个字母S,从单数变成了复数,从处理单个条件的统计变成可以处理多个条件的统计,这两个函数的统计能力又再一次得到了提升。

下面举一个具体的例子,来介绍一下MATCH函数和INDEX函数配合使用的方法。

iferror函数怎么使用_iferror函数的使用方法_iferror怎么和函数使用

交叉查询案例

上面的图中显示了这样一个场景,某个公司制定了非常细致的奖金系数规则,需要根据不同的岗位级别以及所属的部门来确定具体的奖金系数,即使在同一个岗位级别上也会因为部门的不同而造成系数的差异。

具体的规则形成了G列到L列当中显示的这张系数对照表。现在呢,需要根据B列到D列当中所提供的这些人员名单,来查询他们具体的奖金系数应该取多少。大家来思考一下这个问题凭借你们现在所掌握的函数卡牌,有没有理想的解决方案呢?

如果仔细观察这个案例的话,其实可以发现跟前一个案例当中的信息查询有那么一些类似,假定以部门作为关键信息,忽略岗位级别的话,就是要根据每个人所属的部门去数据源当中进行查询,这就看上去跟我们前面VLOOKUP函数的场景很像了。

但是随着而来的问题是,如果使用VLOOKUP函数,那么第三参数应该怎么取呢?

这里的第三参数貌似并不是一个固定的取值,而是需要根据不同的岗位级别来确定的,如果岗位级别为A,第三参数就取2;如果为B,就取3等等。所以需要提供一种机制,能够根据岗位级别来进行自动判断。

因此这里实际上不仅要在纵向上查询部门,还要在横向上查询岗位级别,两者确定以后的交叉位置,才是真正需要寻找的目标信息所在,因此这类问题也称为交叉查询问题。仅仅依靠VLOOKUP函数或HLOOKUP函数这种单一方向的查询函数很难奏效。因此有必要再学习了解一下MATCH函数的用法。

MATCH函数运作原理

MATCH函数又称为位置查询函数,它的作用是查询某个对象在一组对象当中的排列位置。

使用这个函数需要提供三个参数,第一个参数是具体的查找对象;

第二个参数目标范围,也就是包含这个查找对象的一组对象所在范围,通常是某一行或某一列的单元格区域;

第三个参数也是工作模式,通常我们也选择0使用精确查找的工作模式。

有了这个函数,我们就可以分别根据部门和岗位级别,找出对照表里面相应的行列坐标位置。我们可以在表格中添加两个辅助列,先用MATCH函数来获取行坐标和列坐标,就像下面图中所显示的这样:

F列用MATCH函数对部门进行一个纵向查找,这样可以找到部门所在行的坐标。比如黄晓薇属于客服部,客服部根据MATCH函数找到相关的系数信息位于第8行,8就是这个行的坐标。

类似的,G列根据岗位级别进行MATCH函数的横向查询。比如黄晓薇A级的相关系数信息就找到都位于第10列(也就是J列)当中。

那么有了这两个坐标以后,怎么样可以定位到具体的奖金系数呢?下面就轮到INDEX函数出场了。

INDEX函数运作原理

INDEX函数可以根据行列坐标来具体定位到目标单元格。

它需要三个参数,第一个参数是先确定一个区域范围;

第二参数和第三参数分别代表行坐标和列坐标;

如果只用一个坐标,也可以在单独某一行或某一列中进行定位。

从这里可以看出来,INDEX函数和MATCH函数简直就是天生的好基友,两个函数一个能找坐标,另一个就能根据坐标找到目标。

因此在前面的这个案例当中,我们最终可以借助INDEX函数查询到具体的奖金系数,详细公式显示在下面的图中:

6级竞技场

功力继续精进的话,就可以到达6级竞技场了。在这个层面上,你需要认识一些平时不太关注但却非常有用的函数。

比如VLOOKUP函数的大师兄LOOKUP函数,这个函数的不仅能够实现精确查询的作用,更重要的是他具备区间分段查询的功能,并且在具体使用上比VLOOKUP函数更加灵活。他们两者的关系就好像皇家巨人跟巨人之间的关系,两张牌各有千秋,都拥有不少的粉丝;

如果你已经用惯了COUNTIFS和SUMIFS函数,也许就不太会注意到SUMPRODUCT这个函数了,事实上SUMPRODUCT函数比前面两个函数更加强大、更加灵活。如果把COUNTIF家族比作骷髅卡牌的话,那么SUMPRODUCT就是加了盾牌的骷髅;

DATEDIF函数是一个Excel当中的隐藏函数,在函数列表和函数向导当中甚至找不到它的踪影。但是它却是用来计算两个日期之间间隔了多少个月、多少年的有力武器,最重要的是,它在计算过程当中可以精确到具体的某一天。想要算周岁年龄吗,就可以用它来处理;

TEXT函数非常神奇,它和单元格格式的作用有一些相似,可以把一个数据变换成另外一种样子,就好像一面魔镜,镜子里显现出另一番景象。用好这个函数的关键在于需要掌握许多格式代码,通过这些格式代码来呈现不同的效果,这些格式代码就像对魔镜念的咒语;

SUBSTITUTE函数,因为这个函数名称字母很多,很难念也很难写,因此几乎被很多人遗忘了。但事实上要记住这个函数并不困难,在体育比赛中的换人用的就是这个词,而它在函数中的作用就是在文本字符串当中进行查找替换,就像换人一样;

最后一个PHONETIC函数的经历也很奇特,它的功能是可以同时引用一批单元格,把这些单元格当中的文字内容拼接成一个完整的字符串,但这个函数被创造出来的初衷其实并不是用来干这个活儿的,被大家这么用来拼接字符串完全属于无心插柳。

所以,到了这个层级,你自然而然就会去了解许多函数背后的故事。在这个层级上,你也许还会慢慢认识数组公式这个强大的工具,它就好像一把强大的螺丝刀,可以把普普通通的函数拼装出更加高效更加强力的公式来。这是一个可以让公式能力得到飞跃的工具,如果你希望达到更高水平的话,很有必要了解一下。

下面呢同样举个例子,来为大家介绍一下LOOKUP函数在区间分段查询场景当中的使用方法。

区间分段查询案例

现在许多公司都施行精细化管理,在考核和激励机制上的设计都非常细致,比如有这样一家公司,为了更好的激励员工的销售,设计了一套销售提成比例的规则,为各个不同档次的销售业绩制定了不同的销售提成比例,形成了F列到H列这样五六个分档区间。

现在需要根据C列当中每位员工实际的销售业绩,来确定到底应该按照多少的提成比例进行提成计算。

有很多初学者碰到类似这样的问题,会首先考虑使用IF函数来罗列一个个判断条件,通过一串复杂的逻辑组合得到最终的查询结果。没错,这种做法算不上错,还可以很好的锻炼逻辑分析能力,但从公式编写效率上来讲是非常失败的,整个公式会变得非常复杂,编写当中还容易出错。对于这类需要在不同区间分段上进行判断的场景,更高效实用的方案还是使用LOOKUP函数来进行处理。

LOOKUP函数语法规则

LOOKUP函数有两种不同的用法,比较常用的一种方式需要三个参数。

第一个参数是具体需要判断查询的目标数值,比如某个员工的具体销售额;

第二个参数是每个分段区间的下限数值所组成的一个数组,比如1000~2999、3000~4999、5000~9999这几个分段区间的话,他们的区间下限就分别是1000、3000、5000这几个数。把这几个数组成数组,并且要求从小到大排列,就构成了第二个参数;

第三个参数就是要给出每个区间所对应的具体信息,比如目标是查询提成比例,那么刚才那几个区间所对应的几个具体的提成比例,组成一个数组,就是它的第三参数。

这个LOOKUP函数的难点主要在原理的理解上,具体的参数设置其实并不复杂。把前面介绍的这些参数规则套在刚才那个具体的案例当中,就不难写出公式了,具体实现方法可以参考下面的图片:

D列当中就是简简单单使用了LOOKUP函数,不需要一个个区间去人工判断,它自动就能够将销售业绩在每个区间里面进行查询判断,最终得到所在区间所对应的提成比例。

7级竞技场

再往高处走,就到达本次分享当中的最高层级7级竞技场了,但这并不意味着函数学习的终点。在这个层级当中,你会接触到一些更加冷门的函数,冷门意味着知道和使用的人不是那么多,并不代表函数本身没有太大用处。

女巫是骷髅军团的大Boss,在统计类的函数一族当中,我们之前接触过小骷髅COUNTIF、骷髅军团COUNTIFS以及带盾牌的骷髅守卫SUMPRODUCT函数。而现在,家族中的另一位成员FREQUENCY函数也体现出了更高级别的功能,它可以将数值分成多个区间分组,并且统计每个分组当中的数值个数,也就是计算频数。因此它会生成一组结果,而不是单一的结果;

TRIMMEAN函数项目加盟,学名叫做修剪平均值,通俗的讲就是可以在去除一些极大值和极小值之后,再来计算平均数,在体育比赛例如跳水、体操这类比赛的打分当中经常能看到这种评分方式,相当于小皮卡AVERAGE平均值函数的升级版,因此我用大皮卡来代表它。这个函数在计算平均值时可以去除一些异常数据的干扰,对于数据分析工作很有帮助,在招投标等一些场景当中也很有使用价值;

PERCENTRANK函数,RANK排名函数的兄弟,它可以用百分比的形式来体现排名位置;

MMULT函数,又被称为MM函数,因此我用女武神作为它的形象代言人。它的作用是对数组进行矩阵乘法运算,听着就很高大上,在一些复杂的统计处理当中可以发挥作用。但是这个函数在学习和参数构造上都有比较高的难度,因此实际使用者寥寥;

HYPERLINK函数,一个非常另类的函数,绝大部分函数都是在单元格中得到一个具体的数据结果,而这个函数却可以在单元格当中产生一个超级链接,链接到其他位置、其他文件甚至链接到网页等等。就好像非常另类的狂暴樵夫卡牌,游戏中的大部分卡牌我们都希望能够活得越久越好,而使用樵夫的时候,通常我们总是希望他能早点挂掉;

WEBSERVICE函数,同样也是一个非常特殊的函数,从Excel 2013版开始才提供了这个函数。它的作用是可以直接从网络上动态的获取数据。比如有些网站提供了查询股票信息的网络服务,将服务地址填写在这个函数的参数当中,通过这个函数就能实时获取到相应的股票数据信息(例如:=WEBSERVICE(“http://hq.sinajs.cn/list=s_sh000001”))。这是非常有想象力的一个函数,它实现了网络数据与Excel之间的无缝链接,借助它可以实现许多自动化智能化的实时数据查询解决方案,而在以往,这样的功能往往需要通过VBA编程才能实现。

由于时间关系,这个层级的函数我就不再具体举例详细说明了。

下面我们可以换个角度再来回顾一下今天提到的几个函数:

函数中的“升级版”

有些函数功能和用法比较相近,但能力上会有些差异,其中一个函数可以看作是另外一个函数的升级版,例如图上所提到的这四对,能力上都分别有所提升,有些甚至可以替代低级版的函数。

iferror怎么和函数使用_iferror函数的使用方法_iferror函数怎么使用

七大查询引用类函数

查询引用类函数所包含的七大函数是Excel当中最重要的函数代表之一,掌握他们就至少掌握了半个函数江湖。

以上就是今天我为大家带来的函数功力七大层级的猜想和一些函数的推荐和介绍,希望能够帮助大家查漏补缺、按图索骥。Excel当中总共有400多个函数,全部都去学习和了解既不现实也没必要,职场当中常用的函数其实也就是这样四五十个。掌握和熟练运用这些函数,就能让你在大部分工作当中游刃有余。

经常有朋友会询问如何学习函数,经常抱怨记不住等等。在这里我也给出一些学好函数的建议:

首先第一条,建议通过联想式的方式来记忆函数名称以及他们的作用。就好比今天这样,我把函数跟游戏结合起来,把有关联的函数放到一起来介绍,通过这样的一些联想式记忆,可以帮助你更好的记住函数名称,可以帮你更好的理解这些函数的作用和相关性;

第二条,深刻理解函数的参数语法规则。每个函数都有特定的参数语法规则,其中包括参数的顺序位置、参数的含义作用、甚至参数的类型等等。比如有的函数参数类型是ref,这就表示这个参数只能通过单元格地址引用来设定,而不能直接使用某个常量或使用另外某个函数的运算结果。只有深刻理解了这些规则,才能正确而合理的运用好函数。

第三条,建议使用一些手段,去跟踪了解公式运算的中间过程。比如通过F9这个快捷键,在公式编辑栏当中选中一段公式内容,然后按F9快捷键,就可以看到这段公式的内部运算结果。通过这样的方式就可以了解到公式运算的中间过程。因为许多公式很长,大都会由多个函数组合而成,通过这种方法可以查看到每一部分的中间运算结果,这个对于整个公式的算法理解和编辑修改是非常有帮助的,有了这个手段以后可以让函数的学习能力得到极大的提升。

当然,学习函数公式也和游戏当中练功升级一样,并非一朝一夕之功,找到合适的学习方法,养成良好的学习习惯,经常性的实践操作和锻炼,尝试用函数公式去高效的解决问题,这样才能形成长期的经验积累,帮助你迈向更高的水平层次,迎接更大的挑战。

体系、简单、实用的数据分析视频课程:

(1)数据分析入门必备课程(8折限时优惠)

(2)R数据分析与数据挖掘实战(8折限时优惠)

(3)Python数据分析与数据挖掘实战(8折限时优惠)

注:由于WX限制,以上链接需要手动复制至浏览器粘贴打开,其他课程可点击“阅读原文”查看。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注