c语言if函数嵌套公式例子,IF 函数 - 嵌套公式和避免错误

更多示例

下面是一个十分常见的示例 - 根据销售额等级计算销售佣金

39bd46965a0a0dc848fa6caab631fbc1.png

=IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))

此公式表示如果 (C9 大于 15,000 则返回 20%,如果 (C9 大于 12,500 则返回 17.5% 等等…

虽然该公式与前面的“成绩”示例非常相似,但它很好地说明了维护大型 IF 语句的难度 - 如果组织决定增加新的薪酬等级,甚至改变现有美元或百分比值,那么你需要做些什么? 必须手动完成大量工作!

提示: 为了使长公式更易于阅读,可在编辑栏中插入换行符。 只需在将文本换到新行前按 Alt+Enter。

下面是一个包含混乱逻辑的佣金方案示例:

4988886feb846c52ce7b283fc13c3b42.png

发现问题了吗? 将销售额比较的顺序与上一示例的顺序进行比较。 此示例用的是哪种方式? 此示例采用自下而上(从 5,000 美元到 15,000 美元)而不是自上而下的方式。 但为什么说这是个大问题? 因为公式无法通过对任何超过 5,000 美元的值的第一次求值。 假设销售额为 12,500 美元 - IF 语句将返回 10%,因为该值大于 5,000 美元,所以公式将在此处停止。 此类问题很严重,因为在许多情况下,此类错误容易被忽视,直到产生负面影响才会被发现。 既然知道复杂嵌套 IF 语句具有严重缺陷,你能做些什么? 在大多数情况下,可使用 VLOOKUP 函数,而不是使用 IF 函数构建复杂公式。 若要使用 VLOOKUP,首先需要创建一个引用表:

8a23793447c520edbcb939e132adec23.png

=VLOOKUP(C2,C5:D17,2,TRUE)

此公式表示在 C5:C17 区域中查找 C2 的值。 如果找到值,则从 D 列的同一行返回相应值。

be0d841719c728a93e33b2623f94337e.png

=VLOOKUP(B9,B2:C6,2,TRUE)

类似地,此公式将在 B2:B22 区域中查找单元格 B9 的值。 如果找到值,则从 C 列的同一行返回相应值。

注意: 这两个 VLOOKUP 公式在公式末尾使用 TRUE 参数,这表示需要它们查找适当的匹配项。 也就是说,它将匹配查找表中的精确值以及范围内的任何值。 在这种情况下,查找表需要按升序​​排序(从小到大)。

此处更详细地介绍了 VLOOKUP,但这肯定比 12 级复杂嵌套 IF 语句简单得多! 还有其他一些不太明显的优点:

VLOOKUP 引用表是开放的,易于查看。

条件更改后,可轻松更新表值,无需更改公式。

如果不希望他人查看或更改引用表,只需将其置于其他工作表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值