在 Excel 中有一個資料表,其中有多個分組的資料(參考下圖),如何找出各組最大值和最小值呢?

你可能使用過 SUMIF、COUNTIF、AVERAGEIF 等條件式運算函數,但 Excel 中並沒有 MAXIF 或 MINIF 等函數,不過你可以使用陣列公式來取代。

【準備工作】

選取儲存格A1:B21,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:組別、數值。

【建立公式】

(1) 求各組最大值

儲存格C2:{=IF(B2=MAX(IF(組別=A2,數值,FALSE)),"V","")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。

{IF(組別=A2,數值,FALSE)}:找出和「組別」陣列中和儲存格A2符合的儲存格陣列(判斷式中若不符合者,則給予 False)。

{MAX(IF(組別=A2,數值,FALSE))}:利用 MAX 函數取出上式中的取大值。

 

(2) 求各組最小值

儲存格D2:{=IF(B2=MIN(IF(組別=A2,數值,FALSE)),"V","")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。

原理同(1),將 MAX 函數改用 MIN 函數。

 

【延伸學習】

儲存格C2:{=IF(B2=MAX(IF(組別=A2,數值,FALSE)),"V","")},其中的 FALSE 如果以 0 或空白來取代,都會得到錯誤的結果,因為 0 或空白都會被視為 0,而 0 可能會誤成為各組中的最小值。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(4) 人氣()