[数据分析: Excel] if函数的简单用法

上海下了40多天雨,终于出太阳了。

今天总结一下IF函数的的结构和用法。


首先看一下IF函数的构成:

IF函数的构成

                IF函数有三个参数:

                        逻辑表达式:可以是一个简单的关系判断,也可以引用其他函数。

                        正确的情况:当表达式正确的情况下,返回的值。

                        错误的情况:当表达式错误的情况下,返回的值。

下面是一个简单的小例子:

小例子

                我们在"D2"单元格建立一个if判断,判断"B2"单元格的值是否等于"5"。

                首先执行第一个参数,即逻辑表达式“(B2=5)”,判断"B5"单元格的值。如果表达式正确,即B2=5,则返回第二个参数“是”;如果表达式错误,即B2!=5,则返回第三个参数“否”。

用VBA描述一下,可能逻辑会清晰一些:

IF判断

                蓝色框框中的代码,即是前面例子中的逻辑表达式,当表达式符合条件,就执行黄色框中的代码;如果表达式不符合条件,那么进入“ELSE”,执行绿色框中的代码。

这里需要注意的是,要区分表达式的值的数据类型,5可以是数字5,也可以加上“ ”变成字符“5”,前面例子中用的是“=”关系,也可以用“>”或者“<”等关系,数字可以进行大小判断,而字符是不存在大小的。

第二三个参数都是返回汉字,这是属于字符型的值,所以要加上引号“ ”。一些数据库语言中,引号表示字符类型时,可以用单引号‘ ’和双引号,但是Excel和VBA中只能用双引号“ ”。

!= 表示不等于的意思,一般用于各类编程语言中,在Excel中不等于用“ <> "代替。


Beautiful!现在我们已经掌握简单的IF函数了,接下来我们要开始对IF函数进行多条件判断。

先看这个问题:

双条件

                        现在要对B2和B3同时进行判断,并返回在D2。如果同时满足2个条件,“B2 = 5” 且 “B3 = 8” ,即在D2返回“是”,否则返回“否”。解决方法当然有很多,仁者见仁智者见智了。不过较为常见的解决方法有2种:

AND ( ) 函数连接2个条件

AND函数

                         AND ( ) 函数可以同时连接多个条件,同时对这些条件进行判断。

AND连接2个条件,同时判断

IF嵌套子IF判断

嵌套是很常见的一种形式,可以实现先执行一个IF,再执行另一个IF。

子嵌套

这种方法其实是用另一个IF函数的整体作为上一级IF函数的第二个参数。第一级(父级)IF函数是在判断 “B2=5”, 如果符合条件,那么进入子IF函数对 “B3=8” 再进行判断;如果不符合条件,则返回“否”。子IF函数中,符合条件即表示 “B2=5”和“B3=8”同时符合。

同样,用VBA解释一遍:

此外,上面说的是同时发生(“且”),如果是发生任意一个(“或”),也可以用“OR函数”或者嵌套。


Okay,到目前为止,我们已经可以利用以上这些技能去处理一些复杂一点的工作了,看一下这个小例子吧。

现在假设你是一家滑雪俱乐部的客户管理员,某一次滑雪活动前,考虑到滑雪是有一定危险的活动,需要对报名的客户进行甄别。现在假设只考虑性别和年龄:

滑雪俱乐部

目前有8名客户报名参加这次滑雪项目,经过对他们的性别和年龄进行统计,得出下面的那张表,姓名不重要,代号而已,用1234代替。现在要判断是否符合标准,标准在上面那张表:只要“男性”和“女性”,男性年龄为“25~35”周岁,女性为“20~30”周岁。(这只是一个虚拟的例子,非“男性”非“女性”表示资料缺失)

这里我用“嵌套+AND函数”的做法:

嵌套+AND函数

。。。看到这个我真的想把电脑砸了,如果再复杂一点,建议大家用VBA或者其他工具计算,用过数据库的同学应该知道,优化的时候一个原则是能用连接就尽量不用嵌套,因为嵌套是运行速度最慢的一种做法。VBA和数据库以后再讨论吧,这里先理解EXCEL的IF函数。

其实无论嵌套多少,最根本就是这篇文章最开始提到的公式,我们回顾一下:

回顾一下IF公式

这个案例中,父级和嵌套的三个子级都符合这个结构。我们按照顺序,流程走起来!

首先看圈1,这是最高级的IF函数,其判断的条件是“C7=“男””,如果符合,进入圈2;如果不符合,进入圈3。

性别为男,进入圈2,之后就是要考虑年龄问题了,所以圈2的判断条件是“AND(D7>=25, D7<=35)”,即年龄是否在25~35(包含)周岁的区间内,这里的区间是两个条件“大于等于25”,“小于等于35”,用前面讲过的AND函数连接。如果年龄在这个区间内,那么恭喜了,符合条件;如果不在,那么就不符合了。

性别不为男,进入圈3,这里再次判断性别,是否性别为“女”。如果是“女”,那进入圈4;如果不是“女”,可能是资料缺失,那么直接“不符合”。

最后看看圈4,和圈2同理,只是这次判断的是女性的年龄区间。

好啦,最后的最后,我们再来用VBA演示一遍,作为一个参考。

VBA

VBA的逻辑性会更严谨一些,如果看不明白没关系的,慢慢来,后面我会分享sql server和python等。


好天气不要错过,出去晒晒阳光。

谢谢!

推荐阅读更多精彩内容

  • Word,PPT,Excel这三个Office软件是职场办公里最常用的三个软件,但是我发现简书上写PPT的教程多,...
    远行客阅读 107,992评论 41 2,244
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 23,602评论 1 45
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 2,852评论 0 5
  • 我也不知道这是不是我想要的,我的坚持我不知道会不会有回报。到现在将近三年半的时间,发生了好多我也成长了好多,或许所...
    Convert_阅读 20评论 0 0
  • 3月24日 星期六 晴 原达昨天晚上和爸爸一起看了电影,睡觉时有点儿晚了,今天早上竟然要睡懒觉...
    静泽_eb8a阅读 54评论 0 0