Excel技能树系列05:TEXT函数,IF函数和INDEX+MATCH组合查找函数
在04篇中,我们知道了函数的参数可以简单粗暴的划分为四类:
单个单元格
单元格区域
常量,比如文字,数字,格式化字符串表达式
条件表达式与逻辑值
拿到任何一个函数,它的参数无非就是这几种类型的其中一种或者多种组合。按照这个思路,我们今天讲讲几个参数相对比较有代表性,也很实用的函数,会了这几个,其它的函数也就查查帮助文档的事情。
1、TEXT函数
在帮助文档中我们查到这个函数的作用就是将数字或者日期以某种格式显示出来。它的参数有两个:
TEXT(包含数字的单个单元格或数字常量,数字显示的格式)
第一个参数不多说,就是一个包含一个数字的单元格,或者是一个数字常量
第二个参数其实是条件表达式的一种,更好的叫法叫做格式化字符串,按照这个格式化字符串,将数字显示成格式化字符串定义好的样子,所谓的格式化字符串,按Ctrl + 1弹出的设置单元格格式对话框,点击自定义出来的那些就是,可以自己试试都能把数字变成什么格式,用在TEXT函数里面大概就是什么样子
文字描述始终少了点形象,我们结合动图演示下面这几种TEXT函数表达式的结果。观察A2单元格的数字和B2单元格中用TEXT格式化的效果,就明白这函数的工作原理了。
=TEXT(A2,”0000″)
=TEXT(A3,”00000″)
=TEXT(A4,”YYYY”)
=TEXT(A5,”YYYY-MM-DD”)
=TEXT(A6,”YYYY/MM/DD”)
TEXT函数
Ctrl+1打开设置单元格格式中的自定义那里,这些格式化字符串表达式,都可以作为TEXT函数的第二个参数。这个函数,搞清楚了格式化字符串表达式,其实非常简单。当你想以某种自定义格式显示数字的时候,这是挺好用的一个函数。当然有时候用快捷键Ctrl+1直接批量设置更快。
2、IF函数
按F1在帮助文档中,查到IF函数的作用就是根据条件返回相应的结果。它的参数有三个:
IF(条件表达式, 条件表达式为真时返回的结果, 条件表达式为假时返回的结果)
条件表达式上一篇讲了一下,无非就是判断是否大于,等于,或者小于
不多说,看下面这几个表达式在下面动图演示中的表现就明白怎么一回事了。
=IF(A2=20,B2,C2)
=IF(A2>20,B2,C2)
=IF(A2<=20,B2,C2)
IF函数的套路
其实条件函数是可以嵌套的,但个人建议嵌套不超过3层,如果超过了三层,要么是表格结构不好,要么有其它函数组合代替多层IF嵌套。希望大家多在实践中探索。
3、INDEX+MATCH组合查找函数
在04篇我简单介绍了INDEX函数,这个函数有两种形式,再来温习一下:
INDEX(区域,行号,列号)
简单说就是返回在第一个参数所表示的单元格区域中,某一行某一列的值
比如:=INDEX(A1:E8, 3, 3)就会返回C3单元格的值或者引用
INDEX函数
上面的形式就是INDEX的常用形式,可以通过INDEX函数引用某个单元格区域内的某一具体单元格,提供给其它的函数作为参数,但这不是本例要讲的。现在我们观察这个INDEX函数,假设有一个函数可以通过查找来提供INDEX函数的第二个或者第三个参数,是不是就可以实现VLOOUP一般的查找功能呢?那是当然,MACTH函数就是干这个事情的。通过帮助文档,我们了解到如下MATCH函数套路:
MATCH(查找值,查找区域,逻辑值),然后返回一个数字,代表找到的这个值在查找区域的那个位置
查找值嘛顾名思义就是你要在第二个参数的单元格区域内查找那个值
查找区域就是你想在那个单元格范围内查找,这点有个要注意的地方就是:查找区域只能是某一列或者某一行的几个单元格,不然会出错,比如A1:A9可以,A1:G1可以,但是A1:B8就不行。这点要注意。
逻辑值嘛:0代表精确匹配;1代表模糊匹配,一般不常用
如下图所示,比如我要在“=MATCH(A11, A2:A8, 0)就会返回3,说明找到的这个值在A2:A8自上而下的第3个位置,这叫做纵向匹配;而“=MATCH(A11, A1:G1, 0)”则会返回4,说明找到的这个值在A1:G1自左到右的第4个位置,这叫横向匹配。套路明白了吧!就这么简单!
MATCH函数套路
现在,明白这两个函数各自的套路,那么如何实现查找功能呢?很简单,纵向查找用MATCH提供行号,也就是INDEX的第二个参数,也就是下面这种样子:
纵向查找模式:
INDEX(区域,MATCH(查找值,查找的纵向单元格范围,0),需要返回第几列的值)
说明:功能跟VLOOKUP差不多,但是没有查找值必须在最左侧的限制,比较灵活
比如在A1:H8这个单元格区域内,我们通过A2:A8单元格区域查找王杰,返回“王杰”对应那一行,和第3列的相应结果,也就是结果“赛文”,后面的动图演示了纵向查找模式的效果。
INDEX+MATCH
那么横向查找模式就更简单了,就是用MATCH提供列号,就有点像HLOOKUP函数。但是没有查找值必须在查找区域行首的限制。
横向查找模式
INDEX(区域,需要返回第几行的值, MATCH(查找值,查找的横向单元格范围,0))
说明:功能跟HLOOKUP差不多,但是没有查找值必须在查找区域行首的限制。
比如在B1:H8这个单元格区域内,我们查找B1:H8单元格区域的值,比如我们查找南沙,得到横向结果6,我们要返回第4行的“卡耐基”,后面的动图演示了这个横向查找模式的效果。
match+index横向
本篇就说这么多,之所以举这三个函数是因为这三个函数分别代表了文本类函数的模式,逻辑函数的模式以及组合函数的模式,并且这三个函数都是经常用到的,INDEX+MATCH相较于VLOOKUP/HLOOKUP灵活,所以是比较值得学习的一个组合。VLOOKUP的套路04篇也讲过,并且专门用这个函数举了例子。所以下面在动图中演示一下,就不再做说明了。
VLOOKUP演示