今天我們要來解決一個網友在 Excel 中常遇到的問題:如何使用 TRIMMEAN 函數來找出資料中的「離群值」(Outliers)?
什麼是 TRIMMEAN 函數?
array:您要計算平均值的數值資料範圍。 percent:要從計算中排除的資料點百分比。例如,如果您設定為 0.2,Excel 將會從總共 20 個資料點中排除 4 個 (20 x 0.2),也就是頂端 2 個和底端 2 個。
若使用傳統的 AVERAGE 函數,平均分數會是 30.8。 若使用 TRIMMEAN 排除前後各 10% 的極端值(共 20%),公式為 =TRIMMEAN(A2:A11, 0.2),得到的平均分數會是 25.875,這顯然更能反映大多數同學的成績水準。
步驟一:找出單一資料群組中的離群值
計算去頭去尾平均值:在 D2 儲存格輸入 =TRIMMEAN(A2:A11,0.2),得到 25.875。 建立判斷規則:我們可以自訂一個規則,例如,當一個數值大於「去頭去尾平均值」的 1.5 倍,或小於其 0.5 倍時,就將其標示為離群值。(這個倍數可以依據您的資料特性自行調整) 使用 IF 和 OR 函數判斷:在 E2 儲存格輸入以下公式,並向下拖曳。
步驟二:【進階挑戰】找出多個群組中的離群值
計算各料號的去頭去尾平均值 我們需要在每一列都計算出「該列料號所屬群組」的去頭去尾平均值。在 N2 儲存格輸入以下公式: 公式解析: IF(K$2:K$21=K2, L$2:L$21):這是整個公式的核心。它會建立一個暫時的陣列。 K$2:K$21=K2:判斷整個料號範圍 (K$2:K$21) 是否等於目前這一列的料號 (K2)。 如果等於,就回傳對應的價格 (L$2:L$21);如果不等,就回傳 FALSE。
TRIMMEAN(...):TRIMMEAN 函數會自動忽略陣列中的 FALSE 值,只針對符合條件的價格進行計算。 K$2:K$21 和 L$2:L$21 使用 $ 符號鎖定列,是為了讓我們能方便地向下拖曳公式。
找出各群組的離群值 有了各群組的平均值後,我們就可以套用步驟一的判斷邏輯。在 O2 儲存格輸入: 將公式向下拖曳,您就能看到料號 6 的 600 被正確標示為「是」(離群值)。
總結
基礎:TRIMMEAN 能計算排除極端值後的平均數。 進階:結合 IF 和 OR,我們可以根據 TRIMMEAN 的結果來標示出離群值。 高手:當面對多組資料時,在 TRIMMEAN 中嵌入 IF 陣列判斷式,是解決問題的關鍵!
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。