Excel的if函数是一个非常有用的函数,作为一个条件判断语句,可以做很多操作,本文也展示了Excel函数的嵌套(函数中有函数)。
前期准备工作(包括相关工具或所使用的原料等)
Excel 20101.简单的if函数
延续前面的例子,9个酒店的200条在线评论数据。
如果我们希望根据顾客总分给出评价,总分大于等于3分以上为【好】,总分低于3分标注为【差】。
Excel的if函数的基本形式是
IF(logical_test, [value_if_true], [value_if_false])
转换我们的例子
if(单元格数值>=3, "好",“差”)
注意参数之间一定要用英文的逗号,字符需要用英文引号引起来。
(1)输入if函数
在单元格【U2】输入函数【=IF(D2>=3,"好","差")】
按enter键表示确认

(2)拖拽复制函数
移动鼠标光标到单元格【U2】的右下角,当光标呈现为黑色小十字时,按住鼠标左键,拖拽到【U201】。

2.包含简单嵌套的if函数
我们觉得总分大于等于3分以上为【好】,总分低于3分标注为【差】这个评价太粗糙了,我们希望分为3类
***总分大于等于3.5的是【好】
***总分小于3.5,大于等于2.5的是【中】
***总分小于2.5的是【差】
显然一个if判断是不够的,可以使用两个if函数结合
if(单元格数值>=3.5, "好",if(单元格数值>=2.5, "中" , "差" ))
我们在原来的“value_if_false”的位置又写了一个if函数
-------------------
(1)在单元格【U2】的位置,将函数【=IF(D2>=3,"好","差")】中的“差”直接替换为if()
注意:要用英文括号,而且同时输入(),之后在其间修改函数参与,不要先写“(”,修改函数参与,之后补充“)”——成对出现不会遗漏,否则可能多半个括号或少半个括号

(2)在单元格【U2】的位置,将函数进一步修改为【=IF(D2>=3.5,"好",IF(D2>=2.5,"中","差"))】
(3)移动鼠标光标到单元格【U2】的右下角,当光标呈现为黑色小十字时,按住鼠标左键,拖拽到【U201】

3.条件格式
函数的结果,好、中、差好像不明显,我们可以用【条件格式】——借鉴一下红绿灯的思路
将“好”设为绿色
将“中”设为黄色
将“差”设为红色
(1)选中第U列
(2)点击【开始】-【条件格式】-【突出显示单元格规则】-【等于...】
(3)在弹出的窗口,设置“好”为绿色
重复上面的步骤,设置“中”设为黄色,“差”设为红色



如果想取消条件格式,可以点击【开始】-【条件格式】-【清除规则】
如果想修改条件格式,可以点击【开始】-【条件格式】-【管理规则】

4.多层嵌套
if函数可以更加复杂一点
9个酒店的200条在线评论数据的原始数据中是没有【旅行动机】这个变量的,是从前面的7个旅行动机变量(0表示不是,1表示是)合并生成的。
我们现在用if函数做一下这项工作。

在函数中有好多if判断,如果单元格的值为1,则旅行动机变量的取值是该列的标题——因为总是这个标题,所以需要绝对引用。
0Excel基础02:相对引用、绝对引用与混合引用



读者可能会觉得,好麻烦呀!
是呀,如果if函数嵌套超过3层就会觉得挺麻烦的。
这种情况下,替代的方案是Excel的程序设计EXCEL VBA,只要几条语句,可以更加灵活的解决这个问题。
笔者下文将介绍本文的工作如何用Excel VBA实现。
-----------------
此外,如果数据量比较大,例如一线城市的酒店顾客评论都在70万以上(最近3年),写了函数,拖拽函数也将是非常辛苦的工作,所以还是程序设计有效率。
当然数据量都是几十万了,Excel VBA也显得不是很有效率,基于数据库的程序设计就更直接一些。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
