[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!

【[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!】
工作中 , 你也许会遇到这种情况:在一组数据中 , 想把满足多个条件的最大值或者最小值查找出来 。 这里的多个条件 , 也说明条件参数不止一个 , 有多个!
下图中 , 我们要求出城市为“广州” , 地区为“天河”的最大销售额 , 公式应该怎么写?
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
具体操作步骤如下:
1、选中I7单元格 , 在编辑栏中输入数组公式:=MAX(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13,0)) , 按“Ctrl+Shift+Enter”组合键完成输入 。
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
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表示同一行中同时满足两个条件城市为“广州”和地区为“天河” 。
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
=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 。
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
3、完整动图演示如下 。
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
4、如果想要求城市为“广州” , 地区为“天河”的销售额最小值 , 只需将I7单元格的公式改为:=MIN(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13)) 。 其余的操作步骤一样 。
[广州]满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!
本文插图
好了 , 今天就跟大家分享到这里 , 如果你觉得文章有用 , 可以转发分享给你的朋友 , 希望多多支持 , 谢谢!