打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel 的 max 函数又越权了,它竟然揽了按区间查找的活
userphoto

2022.05.26 新疆

关注

学习函数,只掌握其基本语法是远远不够的,还要不断练习,多解题,才能打开思路。

越学习,越会发现学无止境,自己会的那两把刷子,连百宝全书一只角都算不上。

比如 max 函数,它真的就是一个求最大值函数吗?

对于这一点如果有质疑,不妨参阅一下 Excel – 万万没想到,max 函数还能用于二维查询

很多看过上文的读者都表示:本来以为会的函数,看完后发现不会了。

如果这已经让人感到震惊,那么接下来我要讲解的案例,可能更加刷新三观。

案例:

下图 1 是每个销售当月的获客数和平均客单价,根据以下规则,计算出应得奖金数,结果如下图 2 所示。

根据获客数区间发放奖金:

  • <3:0

  • >=3 & <6:3000

  • >=6 & <9:7200

  • 9:13500

  • >=10:20000

根据客单价乘以奖金系数:

  • <=500:100%

  • >500 & <=1000:80%

  • >1000 & <=1500:60%

  • >1500 & <=2000:40%

  • >2000 & <=3000:20%

  • >3000:0%

解决方案:

1. 根据需求,我们先分别构建出获客数和客单价两个区间条件表。

看到上面的两个条件查询表,不少同学就明白了,这是要按区间查找,于是想起了最常用的区间查找函数 lookup,类似的案例请参阅 Excel – 用 lookup 函数按区间查找

还有一些按区间统计的用法,例如:

然而前面说过了,今天的主角是 max 函数,要靠它实现按区间查找。

2. 在 D2 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 生成数组公式 --> 下拉复制公式:

=MAX((B2>=$F$2:$F$5)*$G$2:$G$5)*MAX((C2<=$I$2:$I$6)*$J$2:$J$6)

公式释义:

  • 这个公式中有两个 max 函数,分别对两个不同的区间进行查询,我依次来解释一下;

  • MAX((B2>=$F$2:$F$5)*$G$2:$G$5):

    • B2>=$F$2:$F$5:依次判断 B2 的值是否大于等于 $F$2:$F$5 区域的值,生成一个由逻辑值组成的数组,结果为 {TRUE;FALSE;FALSE;FALSE},true 相当于 1,false 相当于 0;

    • ...*$G$2:$G$5:将上述数组与 G 列的数据区域相乘,只有数组中为 true 的乘积有值,false 的乘积均为 0,结果为 {3000;0;0;0};

    • MAX(...):用 max 函数取出数组中的最大值,即 3000

  • MAX((C2<=$I$2:$I$6)*$J$2:$J$6):

    • C2<=$I$2:$I$6:依次判断 C2 的值是否小于等于 $I$2:$I$6 区域的值,结果为 {FALSE;FALSE;FALSE;FALSE;TRUE};

    • ...*$J$2:$J$6:将数组与 J 列的值相乘,只有 true 值的乘积不为 0;

    • MAX(...):用 max 函数取出数组中的最大值,即 20%

  • MAX(...)*MAX(...):将上述两个 max 的结果相乘,得到最后的奖金数 600

  • 无论哪个数组函数中有多个 true 值,也没关系,max 会取结果中的最大值,即最接近的区间所对应的值。

* 参数中的区间都需要绝对引用。

转发、在看也是爱!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
excel技巧:数组公式的高级应用(示例解析)
【Excel公式教程】最大的数字在哪个单元格?
如果想要和Excel谈条件,你必须掌握这些公式套路!
Excel公式练习:查找每行中的最小值并求和(续)
excel查找技巧:数组函数在区间查找中的应用解析
Excel数组公式:根据条件求最大值
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服