excel|Excel – 用不用 if 不是重点,只要思路开阔,公式都如诗般优雅

【excel|Excel – 用不用 if 不是重点,只要思路开阔,公式都如诗般优雅】excel|Excel – 用不用 if 不是重点,只要思路开阔,公式都如诗般优雅



excel|Excel – 用不用 if 不是重点,只要思路开阔,公式都如诗般优雅



excel|Excel – 用不用 if 不是重点,只要思路开阔,公式都如诗般优雅




最近讲解了很多 if 函数比较高级、精彩的用法 , 那么讨论来了:到底用还是不用 if 函数呢?哪个更能体现水平?

其实正所谓文无第一、武无第二 , 无论用什么公式 , 只要有奇思妙想 , 都能不走寻常路 。
比如 , 今天的案例 , 我给大家讲解两种解法 , 你们自己判断更喜欢哪种?
案例:
下图 1 是公司各部门员工的底薪表 , 公司今年普调工资 , 规则如下:

  • 所有运营部 , 且工资低于 3800 的员工 , 上调 8%;
  • 所有销售部 , 且工资高于 3000 的员工 , 上调 3%;
  • 其余所有人上调 5%

请计算所有人的薪资涨幅 , 效果如下图 2 所示 。


第一种解法 , 我用 if 的进阶函数 ifs , 这个函数需要升级到 Excel O365 版本 。
解决方案 1:
1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:

=IFS(AND(A2=\"运营部\"C2<3800)8%AND(A2=\"销售部\"C2>3000)3%TRUE5%)
公式释义:
  • ifs 函数的作用是检查是否满足一个或多个条件 , 且返回符合第一个 TRUE 条件的值;
  • ifs 的语法为 IFS(逻辑值1 结果值1 [逻辑值2 结果值2
    [逻辑值3 结果值3
    …);
  • AND(A2=\"运营部\"C2<3800)8%:同时满足 A2=\"运营部\" 和 C2<3800 两个条件的话 , 结果为 8%;
  • TRUE5%:如果前面两个条件都不满足 , 那么此处的 true 就是第一个 true 条件 , 也就是“其他所有情况”为 5%


有关 ifs 函数的详解 , 请参阅 Excel 条件函数 ifs 和 switch , 告别层层嵌套烧脑 if 公式 。
也可以全程不出现条件函数 。
解决方案 2:1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:

=5%+AND(A2=\"运营部\"C2<3800)*3%-AND(A2=\"销售部\"C2>3000)*2%
公式释义:
  • 5%:如无特殊条件 , 普调 5%;

  • +AND(A2=\"运营部\"C2<3800)*3%:如果同时满足 A2=\"运营部\" 和 C2<3800 两个条件的话 , 在普调的基础上增加 3%;
  • -AND(A2=\"销售部\"C2>3000)*2%:如果同时满足 A2=\"销售部\" 和 C2>3000 , 则在普调基础上减少 2%