我的工作表包含两列:列A包含格式dd/mm/yyyy
的日期,列B包含每日数据。从每日数据我必须生成每个月的月平均值没有数据透视表。有些日子根本没有数据。我不能使用数据透视表,因为我必须使用月平均值来确定日后数据中的异常值。
对于此示例,重要的是我不使用数据透视表,并且我可以在列表中生成任何月份和年份的月平均数据。解决方案可以是Excel公式或VBA。
答案 0 :(得分:3)
假设您在D
列中有月份,请在E2
中输入此公式并复制到上个月
=AVERAGEIFS($B$1:$B$62,$A$1:$A$62,">="&D2,$A$1:$A$62,"<="&EOMONTH(D2,0))
答案 1 :(得分:0)
有些日子根本没有数据。
如果这意味着某些日期没有行,而您想要根据整月计算平均值,则可以使用以下公式:
继续以EEM给出的例子
=SUMIFS($B$1:$B$62,$A$1:$A$62,">="&D2,$A$1:$A$62,"<="&EOMONTH(D2,0))/DAY(EOMONTH(D2,0))
答案 2 :(得分: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")
答案 3 :(得分:0)
给定一个日期,您可以计算该日期的月末和月初。假设任何给定的日期在E4中:
在月末
=EOMONTH(E4,0)
本月初
=EOMONTH(EDATE(E4,-1),0)+1
如果您将要查看的月份中的日期(任意日期)放入单元格E4,以上两个代码段将为您提供该月的最后一天和第一天。 EDATE允许您添加和减去整数以更改月份。我们与当前月份相距一个月,在单元格E4中的日期内找到,然后找到该月末并将其添加一个成为下个月的第一天。它可以与任何日期一起使用。下面的示例显示了一个月的平均成绩,并参考了该月中的任何给定日期。
Pic of the above Excel example
=AVERAGEIFS(C2:C11, B2:B11,">=" & EOMONTH(EDATE(E4,-1),0)+1, B2:B11,"<=" &EOMONTH(E4,0), A2:A11, E2)