将时间序列拆分为 Excel 中的 14 天切片(不是特别是每两周一次)

Splitting time series in 14-day slices (not specifically bi-weekly) in Excel

我有一个包含时间序列列表的 excel 工作簿。此列表中的每条记录都包含一个带日期的字段。所以它是这样的:

+---------------------------------+
| A               | B             |
|-----------------|---------------|
| Mike Mikaelsson | Sep-30-2019   |
| John Jonson     | Oct-1-2019    |
| John Jonson     | Oct-1-2019    |
| Sarah Stewart   | Oct-1-2019    |
| John Jonson     | Oct-2-2019    |
| Sarah Stewart   | Oct-2-2019    |
| ...             | ...           |
| Dale Warner     | Oct-14-2019   |
+---------------------------------+

简而言之,它是一个记录一些访问的列表。 我想将此列表分成 14 天的周期不是 特别是每两周一次

目前,我发现了以下解决方案。假设我的日期在 B 列中,我在 C 列中添加以下公式:

=$B2-MOD($B2-2;14)+13

但我不喜欢这个解决方案,因为它对我来说似乎不可靠,最重要的是,它只适用于双周时间。

如果我将此公式插入到 9 月 30 日所在行的 C 列中,我会得到什么结果?我得到 Oct-13-2019。如果我向下拖动单元格两次填充下面的单元格,则 B 列位于 Sep-30-2019Oct-13-2019 之间的 C 列的每个单元格将 return Oct-13-2013。这包括开头的 Sep-30-2019 和结尾的 Oct-13-2019

它帮助我找到每两周 14 天的周期。通过查看 C 列,我知道从 Sep-30-2019 开始的双周时间段将在 Oct-13-2019 结束。因此,对于 select 14 天的周期,我可以向下滚动带有日期的列表,直到 C 中的日期更改为 Oct-27-2019

缺点:这只适用于双周时间段:它找到一周的开始(我的地区标准是星期一)和 14 天后的结束。

问题是:对于 select 14 天周期而不坚持星期一或星期日,更优雅的解决方案是什么。就像我将 select Oct-1-2019 作为开始日期一样,我想看看如何使用以 Oct-14-2019 结束的所有记录来切割 14 天的片段。目前使用双周拆分,我必须使用从星期一开始的日期,例如星期一的 Sep-30-2019。

到底为什么我需要这个?我想知道在本季度的 14 天内我有多少用户访问。因此,作为第一步,我想计算 14 天切片中的访问次数。

最后我确实修改了你的公式。这是我的示例数据:

为了公式的清晰起见,我创建了两个命名范围:

"PeriodStart"   = G2
"DaysPerPeriod" = G3

公式本身计算出当前日期(在 B 列中给出)和所有期间开始(单元格 G2 或 "PeriodStart")之间的天数,并计算自所有日期段的开始。

INT((B2-PeriodStart)/DaysPerPeriod) <== whole number of periods since the period start date

然后,如果将整个期间数乘以每个期间的天数并将其添加到所有期间的开始,您将得到一个期间边界随数据日期移动的日期。以下公式从单元格 B2 开始用于列中的所有数据。

=PeriodStart+INT((B2-PeriodStart)/DaysPerPeriod)*DaysPerPeriod