如何计算每天的时间戳条目数
Posted
技术标签:
【中文标题】如何计算每天的时间戳条目数【英文标题】:How to count number of timestamp entries per day 【发布时间】:2017-01-22 21:24:12 【问题描述】:我可以使用什么公式来显示每天的平均时间戳条目数?我使用将数据输入 Google 表格的 Google 表单。我想最终创建图表,显示每天/每周/每月的平均时间戳数以及趋势。 (例如,我们平均每天接到 5 个电话)。我想我首先需要一个公式来计算每天的时间戳条目数,然后我可以使用另一个公式来找到每天/每周/每月的平均值等。
下面是 A 列中所有时间戳条目的示例,现在仅显示日期,因为我使用 =ArrayFormula(Responses!A:A) 删除了“时间”
8/8/2016
8/8/2016
8/9/2016
8/9/2016
8/9/2016
8/9/2016
8/9/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/10/2016
8/11/2016
8/11/2016
【问题讨论】:
【参考方案1】:您可以使用内置的 Google 表格公式计算每天的平均值:-
Count(A2:A100)/CountUnique(A2:A100)
如果时间戳在 A 列中。
你可以通过将最后一个和第一个之间的差除以 7 来计算所有这些每周的平均值:-
=COUNT(A2:A100)/((index(A2:A100,count(A2:A100))-A2+1)/7)
你可以连续几个月做类似的事情(因为每个月的长度不同,有点困难)。
但我认为,如果您要绘制趋势线,您希望按照您的建议获得独特的日子、周和月,然后进行计数。
原来如此
unique(a2:a100)
在(比如说)B 列中获取单独的日期
=unique(filter(A2:A100,weekday(A2:A100)=2))
在(比如说)D 列中获取每个单独一周的开始时间和
=unique(filter(A2:A100,day(A2:A100)=1))
在(比如)F 列中获取每个月的开始时间。
然后你可以设置 countifs 来计算它们:-
=countif(A2:A100,B2)
在 C2 中
=countifs(A2:A100,">="&D2,A2:A100,"<"&(D2+7))
在 E2 中
=countifs(A2:A100,">="&F2,A2:A100,"<="&eomonth(F2,0))
G2
如果您的日期仍然包含不同的时间,则需要使用 int 函数转换为午夜 0:00,然后需要更新上述公式以引用 B 列:-
【讨论】:
谢谢,汤姆。当我使用 UNIQUE 时,它会提取所有时间戳,因为它们每个都有一个唯一的时间,例如 8/8/2016 8:41:43,即使我使用 =ArrayFormula(Responses!A:A) 删除了“时间”。我需要找到一种方法让 UNIQUE 只关注日期,而不是时间。再次感谢。 我明白了。是否可以使用 =ArrayFormula(int(Responses!A:A)) 来提取所有时间设置为 00:00 的日期?或者只是添加一个从 B2 开始的 =int(a2) 辅助列?否则,您将不得不一直输入 int(a2:a100) 。我将在我的解决方案中添加一个帮助列。【参考方案2】:使用查询功能似乎是最直接的解决方案?我只需要显示每天的提交总数。
=Query('Form responses 1'!A1:A,"select YEAR(A), MONTH(A)+1,DAY(A), COUNT(A) where A is not null group by YEAR(A), MONTH(A)+1,DAY(A) label YEAR(A) 'Year',MONTH(A)+1 'Month', DAY(A) 'Day',Count(A) 'Num studs'", true)
【讨论】:
以上是关于如何计算每天的时间戳条目数的主要内容,如果未能解决你的问题,请参考以下文章