函数界也搞裁员?我们恐将告别IF函数!
发布时间:2022-12-05 01:38:05
问题1:如下图所示,当实际销售量大于销售量目标时,奖励1000元。
通常遇到这类问题,首先想到的一定是IF函数,公式为:=IF(C2>B2,1000,0)
大家都能理解这个公式,而且这个问题也相当简单,简单到甚至都不需要用函数就能解决:
在公式“=(C2>B2)*1000”中,利用了逻辑值直接参与计算,当C2>B2成立时,得到TRUE,反之得到FALSE。逻辑值在与数字计算时,TRUE等同于1,FALSE等同于0,因此公式“=(C2>B2)*1000”同样可以得到所需的结果。 问题2:还是计算奖励的问题,这次对奖励规则做了调整,当实际销量大于目标销量时,每超过一个销量奖励50元,1000元封顶。 这时候如果还用IF函数解决,公式就变成了“=IF(C2B2,0,IF((C2-B2)*50<1000,(C2-B2)*50,1000))”。
这个公式进行了两次判断,首先判断是否达到奖励标准,也就是C2
B2时,不发奖励;如果达到奖励标准,还要进一步判断奖励是否达到1000元,也就是(C2-B2)*50<1000,如果不到1000,按实际奖励计算,超过了仍按1000计算。 在这个问题中,要用好IF已经需要一点功力才行了,公式明显比第一个问题复杂了很多,这时候,IF函数的新对手出现了,而且一下子就来了两个:=MIN(MAX((C2-B2)*50,0),1000)
MIN函数用于得到几个数字中最小的一个,MAX函数用于得到几个数字中最大的一个,这两个函数配合了一下,竟然把一个原本该是IF函数的活给轻松解决了。 这个公式需要分成两部分来理解,首先MAX((C2-B2)*50,0)得到理论奖励和0中的较大者,如果不够奖励标准,(C2-B2)*50就是一个负数,较大者为0,反之就是超额销量*50;接下来再将MAX得到的结果和1000放在一起,通过MIN函数来得到较小者,如果奖励金额超过1000,则返回1000。这样就可以把一个比较复杂的IF公式变得简洁。 问题3:按超额数量计算阶梯奖励,规则如图所示。
如果还想用IF来解决这个问题,可以自己试试,确实太长了。下面分享几个不用IF的公式供大家参考: 公式1:=MIN(MAX(INT((C2-B2)/10+1)*300,),1000)
这就完全是一种数学思路了,按照阶梯奖励的规则,每一档相差300元,1000元封顶,所以先把超额数量除以10再加1,乘上300就是奖励金额:
但是会出现负数和超过1000的情况,再用问题2的思路,结合MAX和MIN就能得到最终结果。 公式2:=MIN(MAX(CEILING(C2-B2+1,10)*30,),1000)
这个公式可以看作是公式1的改版,还是利用了奖励规则中的一些规律性,用CEILING(C2-B2+1,10)*30取代了INT((C2-B2)/10+1)*300。CEILING函数是将数字按照指定的倍数向上舍入,看看下图示例或许就明白了。
公式3:=LOOKUP(C2-B2,$F$2:$H$6)
公式3完全是利用了LOOKUP可以进行区间匹配的功能,需要说明的是,本例中使用了一个辅助区域,这对于初学者来说是非常有用的,注意辅助区域的首列一定要用下限值。 如果不想用辅助区域,可以按f9键把公式里的区域变成数组就行了: =LOOKUP(C2-B2,{-999,0;0,300;10,600;20,900;30,1000})
如果奖励标准发生变化时,自己修改数组中的数据即可。 结论:以上案例中,分别使用了逻辑值、MIN、MAX、INT、CEILING和LOOKUP等函数来取代IF,实际上能取代IF的函数还有一些,例如CHOOSE,TEXT等都可以,篇幅所限不再一一列举。
当问题的判断条件是基于数字的时候,IF往往不是唯一可以选择的途径,换个思路或许可以得到更多方法,但是IF函数的确也有自身的优势,对于一些非数字性的判断,就非它不可了。


猜你喜欢
- iOS8中的AppStore首先一个比较明显的变化就是底栏中间新的Explore,可按照分类来寻找更多精美优秀的App资源。但目前中国区依然
- 与Windows计算机相比,Mac计算机更不容易发生系统崩溃。但是,这并不意味着Mac崩溃永远不会发生。要从崩溃或无法启动的Mac中恢复数据
- scanregistry.exe是TROJ_SVHOOST.A木马相关程序。该木马允许攻击者访问你的计算机,窃取密码和个人数据进程文件: s
- 虚拟机可以帮助我们测试各种程序的兼容性,那么怎么在虚拟机打开U盘?我们一起来学习详细的教程,希望对大家有帮助。虚拟机中打开U盘的操作方法1、
- 1:首先下载安装迅雷9最新版本;2:安装后如下图:迅雷93:在资源搜索处理输入你想要的影视资源即可,121down小编这里为大家随便输入一个
- 电脑显示器有时候会坏掉,因此我们会换成新的,但是每次一换新的,电脑就提示显示器输入不支持,那么当你遇到显示器输入不支持怎么办呢?不知道的朋友
- 有没有想过在Windows 10上直接安装和运行Xbox主机游戏?这样的愿望似乎并非遥不可及。可能Windows Insider快速通道的会
- Win11无法获取最新版本怎么办?虽然win11降低了更新频率,但是有些用户在更新版本的时候一直出现win11系统更新失败的问题,那要怎么解
- 在用Excel进行办公时,如果需要对两列的数据进行比较大小,应该如何操作呢?下面就来看看解决的办法Excel200701、首先,打开Exce
- U盘里的文件不见了怎么办?如何恢复U盘里面的文件? 对于U盘,常会出现的一个问题就比如说“吃文件”。相信大家对“吃文件”是比较陌生的,但现象
- Cxuiusvc Service占用CPU高如何解决?最近有Win10系统用户跟小编反映任务管理器中有一项Cxuiusvc Service特
- 昨日微软面向Fast通道用户发布了Windows 10 Build 18970版本更新。作为Windows 10 20H1开发分支的最新预览
- Win10系统如何从资源管理器快速打开系统工具?下面小编就给大家带来Win10快速打开系统工具的方法,希望可以帮助到大家Win10系统如何从
- Win7系统有很多快捷键功能,我们可以通过快捷键功能快速对电脑进行某些操作,比如说在使用应用程序出现卡顿无法操作的时候可以强制退出应用程序等
- 最近,有用户使用计算机的win10系统时,发现事件查看器总是自动弹出。用户关闭它后,一段时间后它将再次弹出。那么win10会自动弹出事件视图
- Excel2010的打印预览通常会直接显示在“Backstage”视图中,如果不习惯这种显示方法,而希望像Excel 2007一样全屏显示打
- 这篇文章主要介绍了Win Server 2008 r2 开启 Aero 桌面主题的方法,需要的朋友可以参考下1、运行服务器管理器:左窗口选择
- Intel的10nm一拖再拖,没想到PC电脑市场的风口被高通抢先把握,今天,他们联合微软宣布,骁龙芯片将支持完整的Windows 10操作系
- Excel表格其实藏有很多的小技巧,但大多数人使用的都是最基本的表格制作,今天讲一讲如何在Excel中制作多栏画,一起看看吧!首先我们点击顶
- 在我们工作时,经常会遇到人需要去休息的时候,电脑还需要运行一段时间来完成未完成的工作,可以我们又不想让电脑连续开一夜,这时就需要用到定时关机