MS Excel 2016:如何取得大量離散範圍內數字的平均值?

MS Excel 2016:如何取得大量離散範圍內數字的平均值?

我的一些資料分佈在 6500 多行和 12 列。某些列的值來自一組 3 個數字(輸入列),而其他列則具有所有唯一值(輸出列)。

我在輸入列上使用 Excel 篩選器來根據特定的輸入集篩選出一些行。我相信Excel中的過濾器只是隱藏不滿足過濾器的行。我需要獲得過濾後的輸出列的平均值。過濾後的資料在各行中沒有連續或均勻的放置,因此我無法(輕鬆)指定使用平均公式的範圍。

如何獲得過濾後行的平均值?

樣本數據 -關聯

範例資料解釋 - 列 A 和 B(輸入列)從特定集合中取得其值(分別為 {5,10,15} 和 {20,40,60})。 C 列和 D 列(輸出列)在所有儲存格中都有唯一的值。假設我把過濾器設定為 -

在 A 列上,使用 過濾所有行value=5。這會過濾掉第 1、2、7、10 行。現在我希望獲得 C 列和 D 列中這些已過濾值行的平均值。

答案1

答案是=SUBTOTAL(1,...)。它只考慮可見的單元格。

例如

=SUBTOTAL(1,C1:C12)
=SUBTOTAL(1,C:C)
=SUBTOTAL(1,D1:D12)
=SUBTOTAL(1,D:D)

SUBTOTAL 是函數,可讓您執行不同類型的聚合計算(例如,SUM、AVERAGE、COUNT、MAX 等),以及選擇是否包含手動隱藏的值。第一個參數指定您想要哪個聚合函數,以及是否忽略手動隱藏的值。對於 AVERAGE,參數值1包括隱藏值、101排除隱藏值。透過過濾器隱藏的值始終被排除,因此 或1適合101此範例。您也可以包含非連續範圍的列表,它不限於單一範圍規格。有關可以使用 SUBTOTAL 執行哪些操作的更多說明,請參閱這個連結

答案2

輸入=IF($D$16=A1,C1,"")F1 並拖曳直至 F12。

然後,放入=AVERAGE(F:F)E16。

並在D16中輸入值“5”。

完畢。

p/s :如果必須滿足多個條件,請使用 if()、or() 或 and()。然後使用average()來得到你想要的結果。

希望能幫助你。 (:

相關內容