[英]Excel: Calculate a Rolling Average Based on Dynamic Range
我正在嘗試根據動態范圍計算滾動平均值。 舉個例子,我的數據集如下所示。 我正在嘗試根據范圍“框號”計算參數“用戶數”的滾動平均值。 (12、13、14 ...)。 通常,可以通過計算前N行的平均值然后將其向下拖動來計算滾動平均值。 但是,這里的問題不是。 的用戶數。 列各不相同,因此我不能使用傳統的滾動平均法。
數據集 (考慮“框號和用戶”列下不同行中的所有值)
箱號= 12,12,12,13,13,13,14,14,14,14,14
用戶= 5、5、8、6、8、10、8、3、5、1
因此,我正在尋找這樣的結果。
結果 (考慮“箱號”和“用戶滾動平均值”列下不同行中的所有值)
箱號= 12,13,14
(用戶數)滾動平均值= 6、7、5.4
任何幫助,將不勝感激。
當您說移動平均線時,您是說一種正在滾動的“平均水平”嗎? 您的示例僅顯示了條件平均值,而不是滾動平均值。
看來您的問題可以使用averageif()
解決。 對於更復雜的情況,可以將公式average()
與內部的if()
公式配合使用,該公式指定要匹配的條件,以便計算平均值。 這將成為一個數組公式,必須以Ctrl + Shift + Enter或等效形式輸入。
假設您的Box數據位於B1:K14中,而Users數據位於B2:K14中。 您將同時獲得方框12的結果:
{= AVERAGE(IF(B1:K1 = 12,B2:K2 “”))}
和
= AVERAGEIF(B1:K1,12,B2:K2)
當然,條件可以在相鄰的單元格中,以便可以輕松地將其擴展到其他Box甚至User。
這有兩個部分。
第1部分
為了解決動態范圍,建議您使用表格。 如果您的數據集是這樣的:
然后單擊數據集,然后從“ Insert
命令選項卡中選擇“ Table
”。 確保您的“ My table has headers
選擇My table has headers
。
結果應如下所示:
顏色可能會因您的版本和設置而異。
第2部分
要獲取基於此表的平均值,請單擊表,然后從“ Insert
命令選項卡中選擇“ Pivot Table
”。 接受默認值,您將最終在空白頁數據透視表的新表上。
將Box No.
字段向下拖動到Rows
塊,將Users
字段向下拖動到Values
塊。 單擊“ Values
塊中User
名右側的箭頭,然后選擇Value Field Settings...
然后在“ Summarize Values By
依據Value Field Settings...
選擇“ Average
。 您也可以在“ Custom Name:
重命名顯示的字段名稱。
注意:添加數據后,右鍵單擊數據透視表,然后選擇“ Refresh
以查看新數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.