Разделение временных рядов на 14-дневные срезы (не специально для двухнедельных) в Excel - PullRequest
1 голос
/ 20 января 2020

У меня есть книга 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

Но мне не нравится это решение, потому что оно не кажется мне надежным и, самое главное, это работает только для двухнедельных периодов.

Что я получу с этой формулой, если я вставлю ее в столбец C для строки с 30 сентября? Я получаю Oct-13-2019. Если я перетащу ячейку на две ячейки ниже, каждая ячейка столбца C, где столбец B находится между Sep-30-2019 и Oct-13-2019, вернет Oct-13-2013. Это включает начало Sep-30-2019 и Oct-13-2019, которое завершает период.

Это помогает мне находить 14-дневные периоды раз в две недели. Глядя на столбец C, я знаю, что двухнедельный период, начинающийся с Sep-30-2019, закончится Oct-13-2019. Таким образом, чтобы выбрать 14-дневные периоды, я могу прокрутить список с датами вниз, пока дата в C не изменится на Oct-27-2019.

Минусы: это работает только для двухнедельных периодов: он находит начало недели (понедельник в моем региональном стандарте) и ее конец через 14 дней.

Вопрос в том, : что было бы более элегантным решением для выбора 14-дневных периодов, не придерживаясь понедельника или воскресенья. Например, если я выберу Oct-1-2019 в качестве даты начала, я бы хотел посмотреть, как я могу вырезать 14-дневный срез со всеми записями, которые заканчиваются на Oct-14-2019 включительно. В настоящее время, используя двухнедельные сплиты, я должен использовать даты, которые начинаются в Modays, например, сентябрь 30-2019, который наступает в понедельник.

Зачем мне это все-таки нужно? Я хочу знать, сколько посещений пользователей я совершил за 14 дней в течение квартала. Поэтому в качестве первого шага я хочу рассчитать количество посещений в 14-дневных срезах.

1 Ответ

1 голос
/ 21 января 2020

В конце концов я изменил вашу формулу. Вот мой пример данных:

enter image description here

Для ясности в формуле я создал два именованных диапазона:

"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
...