簡體   English   中英

從沒有數據透視表的每日數據計算月平均值

[英]Calculate monthly average from daily data without PivotTable

我的工作表包含兩列:A 列包含dd/mm/yyyy格式的日期,B 列包含每日數據。 根據每日數據,我必須在沒有數據透視表的情況下生成每個月的月平均值。 有些日子根本不包含任何數據。 我不能使用數據透視表,因為我必須在稍后階段使用月平均值來識別每日數據中的異常值。

對於此示例,重要的是我不使用數據透視表,並且我可以生成列表中任何月份和年份的月平均數據。 解決方案可以是 Excel 公式或 VBA。

假設您在D列中有月份,在E2輸入此公式並復制到上個月

=AVERAGEIFS($B$1:$B$62,$A$1:$A$62,">="&D2,$A$1:$A$62,"<="&EOMONTH(D2,0))

在此處輸入圖片說明

有些日子根本不包含任何數據。

如果這意味着某些日期沒有行,並且您想根據整月計算平均值,則可以使用以下公式:

繼續 EEM 給出的例子

=SUMIFS($B$1:$B$62,$A$1:$A$62,">="&D2,$A$1:$A$62,"<="&EOMONTH(D2,0))/DAY(EOMONTH(D2,0))

如果每日數據包含一些 #N/A,則可以添加額外的條件來跳過非數字數據:

=AVERAGEIFS($B$1:$B$62,$A$1:$A$62,">="&D2,$A$1:$A$62,"<="&EOMONTH(D2,0),$B$1:$B$62,"<10E69")

給定一個日期,您可以計算該日期的月末和月初。 假設任何給定日期在 E4 中:

月底

=EOMONTH(E4,0)

本月第一天

=EOMONTH(EDATE(E4,-1),0)+1

如果您將要查看的月份的任何日期或日期放入單元格 E4,上述兩個代碼片段將為您提供該月的最后一天和第一天。 EDATE 允許您加減整數以更改月份。 我們從單元格 E4 中的日期內找到的當前月份減去一個月,然后找到該月的結束日期並為其添加一個 1 以成為下個月的第一天。 它適用於任何日期。 下面的示例顯示了一個月內參考該月內任何給定日期的平均成績。

上面Excel示例的圖片

=AVERAGEIFS(C2:C11, B2:B11,">=" & EOMONTH(EDATE(E4,-1),0)+1, B2:B11,"<=" &EOMONTH(E4,0), A2:A11, E2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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