01.07 Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

虽然 Excel 2016 已经问世了好几年,不能算新版本了,但是仍有很多同学对其中的一些新函数不甚了解。


其实 Excel 版本每次更新迭代,总会给大众带来不少惊喜,因为微软真正秉承了软件开发的第一要旨:KISS(keep it simple, stupid)。公式越来越简单、模块越来越智能,对用户的技能要求越来越低……


所以不要辜负了这些更新,今天就来讲讲 2016 中的两个新函数 IFS 和 SWITCH。


一、IFS 函数:


作用:

  • 检查是否满足一个或多个条件,且返回符合第一个 TRUE 条件的值。


语法:

  • IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3],…)


参数:

  • logical_test1:必需,计算结果为 TRUE 或 FALSE 的条件。
  • value_if_true1:必需,当 logical_test1 的计算结果为 TRUE 时要返回结果。可以为空。
  • [logical_test2..logical_test127]:可选,计算结果为 TRUE 或 FALSE 的条件。
  • [value_if_true2...value_if_true127]:可选,当 logical_testN 的计算结果为 TRUE 时要返回结果。每个 value_if_trueN 对应于一个条件 logical_testN。可以为空。


二、SWITCH 函数:


作用:

  • 根据值列表计算一个值(称为表达式),并返回与第一个匹配值对应的结果。如果不匹配,则返回可选默认值。


语法:

  • SWITCH(表达式, value1, result1, [default 或 value2, result2],…[default 或 value3, result3])


参数:

  • 表达式:必需,表达式是将与 value1…value126 比较的值(如数字、日期或某些文本)。
  • value1:必需,要与表达式比较的第一个值。
  • result1:必需,当 value1 参数与表达式匹配时,返回的第一个结果。
  • [default]:可选,在表达式中没有找到匹配值时返回的默认值。
  • [value2...valueN]:可选,要与表达式比较的第 2 至第 126 个值。
  • [result2...resultN]:可选,value 参数与表达式匹配时,返回的的第 2 至第 126 个结果。


案例 1:


某校按学生文理选科分成了 4 个班,请按照 E 列中的规则批量替换班级名称。效果如下图 2 所示。

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式


解决方案 1:IFS 函数


1. 在 C2 单元格输入以下公式 --> 拖动下拉复制公式即可:

=IFS(A2="一班","历史班",A2="二班","政治班",A2="三班","物理班",TRUE,"化学班")


公式释义:

  • A2="一班","历史班":为一组逻辑条件及其对应的值;依次类推
  • TRUE,"化学班":这是最后一组逻辑条件和值;当班级为“四班”时,前面三个条件都不符合,因此逻辑值均为 FALSE,那么这里的 TRUE 就是参数中的第一个 TRUE 值,就会返回其对应的值“化学班”
Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式


解决方案 2:SWITCH 函数


1. 在 D2 单元格输入以下公式 --> 拖动下拉复制公式:

=SWITCH(A2,"一班","历史班","二班","政治班","三班","物理班","化学班")


公式释义:

  • 较之 IFS 函数,SWITCH 函数更加精简之处在于“A2”只要写一次,后面的 value 和 result 配对只要直接写在 "" 内写值即可
  • 而且“化学班”作为默认值,连配对的 value 都不需要写,只要前面都不符合的就是“化学班”
Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式


案例 2:


虽然上例中 IFS 函数比 SWITCH 略复杂,但 IFS 可以按区间查找,而 SWITCH 则只能查找固定值。


按下图中 E 列的规则将分数替换成对应的等级,效果如下图 2 所示。

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式


解决方案:


关于区间查询,有多种解决方案,比如大家可以参考我之前写过的这些:


如果对函数掌握不多的同学,可能会用多个 if 嵌套。虽然最终也能达到目的,但是极力不推荐,因为非常不优化。


如果实在不想学其他函数,非用 if 不可,那就用今天教的 ifs 来替代吧,用法和 if 类似,但是免去了大量烧脑嵌套,省时省力还不容易出错。


1. 在 C2 单元格中输入以下公式,下拉复制公式:

=IFS(B2<60,"不及格",B2<70,"差",B2<80,"中",B2<90,"良",TRUE,"优")

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

Excel 条件函数 ifs 和 switch,告别层层嵌套烧脑 if 公式

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。


分享到:


相關文章: