滿足多個條件的最值如何求?不用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個函數組合!

好了,今天就跟大家分享到這裡,如果你覺得文章有用,可以轉發分享給你的朋友,希望多多支持,謝謝!


分享到:


相關文章: