首页 文章

使用Excel计算每日平均值

提问于
浏览
1

在给定时期内计算整数的每日平均值的最佳方法是什么 .

例如:

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

最终结果是,我将获得YTD的当前日平均值,所以像这样:

Monday - average of 250
Tuesday - average of 183

基于YTD数据 . 这是一列日期和一列数字 .

任何帮助,将不胜感激 .

3 回答

  • 1

    添加一周中的某一列:

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

    然后在三列数据上使用数据透视表来获取白天的每日平均值 .

  • 2

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

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

    这是一个数组公式,必须使用Ctrl-Shift-Enter确认以退出编辑模式而不是Enter . 如果操作正确,Excel将在公式周围放置 {} .

    我在D2-D8中添加了1-7来表示工作日编号 . 工作日公式返回一个数字,因此我们需要该列作为参考 .

    enter image description here

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

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

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

  • 1

    假设你的日期是一个字符串并结合蒂姆和斯科特的想法,我想出了他的追随者:

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

    =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),"")
    

    概念证明

    Proof of Concept

相关问题