正则表达式同时满足多个条件_满足多个条件的最值如何求?不用VLOOKUP,只用这2个函数组合!...

工作中,你也许会遇到这种情况:在一组数据中,想把满足多个条件的最大值或者最小值查找出来。这里的多个条件,也说明条件参数不止一个,有多个!

下图中,我们要求出城市为“广州”,地区为“天河”的最大销售额,公式应该怎么写?

9ba174cdf7e495943080125ec413fd50.png

具体操作步骤如下:

1、选中I7单元格,在编辑栏中输入数组公式:=MAX(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13,0)),按“Ctrl+Shift+Enter”组合键完成输入。

9c3807ff9acc02e331a2fb6b3119f4b0.png

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表示同一行中同时满足两个条件城市为“广州”和地区为“天河”。

30cb28648a5ba7a3df74e4eead4a6849.png

=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。

557fca4cdb0bcc5fd4c9c4bd975b9ab9.png

3、完整动图演示如下。

0c7af985a23608a42f9893930574224f.gif

4、如果想要求城市为“广州”,地区为“天河”的销售额最小值,只需将I7单元格的公式改为:=MIN(IF(($C$2:$C$13=G7)*($D$2:$D$13=H7),$E$2:$E$13))。其余的操作步骤一样。

953da77428e36cf4e2ba01581305051a.png

好了,今天就跟大家分享到这里,如果你觉得文章有用,可以转发分享给你的朋友,希望多多支持,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值