如何计算每天的时间戳条目数

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)

【讨论】:

以上是关于如何计算每天的时间戳条目数的主要内容,如果未能解决你的问题,请参考以下文章

Postgres,每天计数条目

计算每天的销售额[时间戳]

如何计算 BigQuery 中每天添加的平均记录数。?

如何使用 cron 为日志输出条目添加时间戳?

Postgres,每天计数条目,包括没有的天数

SQL:如何每天选择一行