首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

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

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

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

案例:

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

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

>=3 &

>=6 &

9:13500

>=10:20000

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

>500 &

>1000 &

>1500 &

>2000 &

>3000:0%

解决方案:

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

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

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

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

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

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

公式释义:

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

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

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

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

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

MAX((C2

C2

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

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

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

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

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

Excel学习世界

转发、在看也是爱!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210108A0DB1M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券