用Excel计算每日平均值

计算一个特定时期内整个数据的日平均值的最好方法是什么?

例如:

Jan 1st | 456 Jan 2nd | 238 Etc all the way to the current date. 

最终的结果是,我将拥有目前的年平均值,如下所示:

 Monday - average of 250 Tuesday - average of 183 

基于年初至今的数据。 这是一列date和一列数字。

任何帮助,将不胜感激。

为星期几添加一列:

 =CHOOSE(WEEKDAY(A1),"Sun","Mon","Tue","Wed","Thu","Fri","Sat") 

然后使用三列数据中的数据透视表来获得每天的日均值。

如果你想要一个公式,那么:

 =AVERAGE(IF((WEEKDAY($A$2:$A$367)=D2),$B$2:$B$367)) 

这是一个数组公式,并且必须用Ctrl-Shift-Enter确认才能退出编辑模式而不是Enter。 如果做得好,Excel将在公式周围放置{}

我在D2-D8中加上1-7来表示星期几的数字。 Weekday公式返回一个数字,所以我们需要该列作为参考。

在这里输入图像说明

如果不需要帮助者列,我们可以使用计数器ROW(1:1)来实现相同的function,当公式被复制时,它将增加1。

 =AVERAGE(IF((WEEKDAY($A$2:$A$367)=ROW(1:1)),$B$2:$B$367)) 

这仍然是一个数组,但不依赖于帮助者列D.请记住,星期一从星期天开始。

假设你的date是一个string,并结合蒂姆和斯科特的想法,我想出了他:

将以下内容放在相邻列中,并复制以适合您的数据:

 =WEEKDAY(DATE(2016,MONTH(LEFT(A1,3)&"-1"),MID(A1,5,1+(LEN(A1)=8)))) 

它将生成一个表示星期几的整数1-7。

在另一个单元格中,比如说E2,将一周中您想要获得平均值的星期几放在它的旁边,并使用下面的公式:

 =IFERROR(AVERAGEIF($C$1:$C$10,MATCH(E2,{"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},0),$B$1:$B$10),"") 

概念validation

概念验证