簡體   English   中英

Excel:基於動態范圍計算滾動平均值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM