用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