新增函数列表
上两篇分享了ifs和switch函数,本篇我们来了解一对兄弟函数—maxifs和minifs。
maxifs函数
光是从函数名称的字面上我们就基本可以猜到这对函数就是在给定多个条件的前提下,找到最大值/最小值。
minifs函数
本文中,我仅以maxifs函数为例。因为minifs函数的语法,用法,逻辑和maxifs函数是完全一样的,唯一的区别是一个求最大值,一个求最小值。
语法:
maxifs(需要查找最大值的数据区域,条件区域1,条件1,条件区域2,条件2…)
注意:
查找最大值的区域和条件区域的大小必须一致。这里说的大小,指的是行数和列数。但是区域的位置(上下左右)不一定要对齐。
案例1:
案例1
如上图1,目标是返回最大年龄,同时条件是男性和总监。
=maxifs(d2:d7,b2:b7,男,c2:c7,总监)
b2:b7,男 -- 在b2:b7区域中限定条件男;
c2:c7,总监 -- 在c2:c7区域中限定条件总监;
计算过程展示
案例2:
限定条件,可以是一个具体的数值或者文本,也可以是一个表达式。
案例2中的限定条件为华北+等级大于110,求最大销售额。
案例2运算过程展示
总结:
1. 第一参数为查找区域。
2. 条件区域和查找区域大小必须一致,否则返回#value错误值。
3. 查找条件可以是文本,数值,还可以是表达式。
对比max函数max函数语法比较简单,仅仅就是将多个单元格或者多个区域的区域放在一起,找出最大值。但是逻辑不简单,需要理解数组的概念。
max函数+数组应用
=max((a14:a22=华北)*(b14:b22>110)*c14:c22)
第一步:(a14:a22=华北)返回一组逻辑值包括ture和false,如果是华北那么一定返回ture。
第二步:(b14:b22>110)同样返回一组逻辑值,如果等级大于110,一定返回true。
以上两组逻辑值相乘,再返回一组新的逻辑值,包含true和false。注意,true在运算时为1,false在运算时为0。
只有同时符合这个条件,返回值才能是1,其它都是0。
第三步:再乘以c14:c22,返回的是{0,0,0,68847,72569,0,0,0,0}这样的一组数。
应用展示
第四步:用max函数判断这组数中的最大值,最后得出正确的结果。
这个公式的写法并不复杂,但是逻辑就稍微复杂一些,需要理解数组的概念和数组之间的运算原理。
如果你不太熟悉数组,建议你看看我之前写的另一篇文章,你一定会有所收获的。
干货|三分钟理解数组及运算原理
可以看出,maxifs函数在多条件限定的情况下比max函数逻辑更简单,写法更直接。
留个思考题:
案例2中,如果要找多条件限定的最小值,而且只能用min函数的话,又应该怎么写呢?
提示:不能简单粗暴地用min代替max,需要一点小技巧。
欢迎你在留言区下写出你的公式吧。
如果你是office365或者office2019用户,想要获取本案例的练习文件,请私信发送“2019”获取下载链接哦。
我是微软认证讲师mct,
关注我,一起玩office。