1

我有一个包含时间序列列表的 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。如果我将单元格向下拖动两个填充下面的单元格,则 C 列的每个单元格在 B 列之间Sep-30-2019并将Oct-13-2019返回Oct-13-2013。这包括开始Sep-30-2019Oct-13-2019结束期间。

它可以帮助我每两周找到 14 天的周期。通过查看 CI 列,您知道从 开始的双周期间Sep-30-2019将在Oct-13-2019. 因此,要选择 14 天期间,我可以向下滚动日期列表,直到 C 中的日期更改为Oct-27-2019.

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

问题是:在不拘泥于周一或周日的情况下,选择 14 天时段的更优雅的解决方案是什么。就像我选择Oct-1-2019作为开始日期一样,我想看看如何切割 14 天的切片,其中包含以Oct-14-2019包容性结尾的所有记录。目前使用双周拆分,我必须使用从星期一开始的日期,例如星期一的 2019 年 9 月 30 日。

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

4

1 回答 1

1

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

在此处输入图像描述

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

"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
于 2020-01-21T19:27:19.400 回答