工作中,你也许会遇到这种情况:在一组数据中,想把满足多个条件的最大值或者最小值查找出来。这里的多个条件,也说明条件参数不止一个,有多个!
下图中,我们要求出城市为“广州”,地区为“天河”的最大销售额,公式应该怎么写?
具体操作步骤如下:
1、选中I7单元格,在编辑栏中输入数组公式:
=MAX(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13,0))
,按“
Ctrl+Shift+Enter
”组合键完成输入。
2、公式解析。
($C$2:$C$13=G7)*($D$2:$D$13=H7):
将C2:C13单元格区域的值与G7单元格的值进行比较,如果找到相等的值,返回TRUE,否则,返回FALSE。得到:{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}。将D2:D13单元格区域的值与H7单元格的值进行比较,如果找到相等的值,返回TRUE,否则,返回FALSE。得到;{TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}。
将得到的两个数组相乘,TRUE*TRUE=1,FALSE*FALSE=0,最终得到:{1;0;1;0;1;0;1;0;1;0;1;0}。其中1表示同一行中同时满足两个条件城市为“广州”和地区为“天河”。
=MAX(IF({1;0;1;0;1;0;1;0;1;0;1;0},$E$2:$E$13,0)):
把E2:E13代入公式中,得到:=MAX(IF({1;0;1;0;1;0;1;0;1;0;1;0},{1250;1360;1320;1380;2500;3200;1820;1600;3720;3330;1520;2200},0)),再由IF函数的原理,如果为TRUE或1,返回第2二参数对应的值,否则返回第三个参数对应的值。得到:
=MAX({1250;0;1320;0;2500;0;1820;0;3720;0;1520;0}),此时就相当于在这组数组中{1250;0;1320;0;2500;0;1820;0;3720;0;1520;0},求出里面的最大值,最后的结果就是:3720。
3、完整动图演示如下。
4、如果想要求城市为“广州”,地区为“天河”的销售额最小值,只需将I7单元格的公式改为:
=MIN(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13))
。其余的操作步骤一样。
好了,今天就跟大家分享到这里,如果你觉得文章有用,可以转发分享给你的朋友,希望多多支持,谢谢!