Можно ли сгруппировать даты вместе и вернуть даты начала и окончания для этой группы? - PullRequest
0 голосов
/ 04 июня 2019

Я ищу немного помощи. У меня очень длинный список дат, когда оборудование было забронировано в Excel.

Что я хотел бы сделать, так это найти в списке предмет оборудования (инструмент 1), а затем просмотреть все даты, связанные с ним. Если даты являются следствием, я бы хотел сгруппировать их и вернуть дату начала и окончания для группы (периода). Если разрыв составляет 1 день или более, он просматривает следующую группу последовательных дат, группирует их и возвращает даты начала и окончания для этого периода. Точно так же, если это всего один день, он возвращает эту дату в качестве даты начала и окончания .... В качестве примера у меня есть это

Date               Equipment
01/01/2019         Tool1
02/01/2019         Tool1
03/01/2019         Tool1
04/01/2019         Tool1
06/01/2019         Tool1
10/01/2019         Tool1
11/01/2019         Tool1
12/01/2019         Tool1
13/01/2019         Tool1
14/01/2019         Tool1
16/01/2019         Tool2
17/01/2019         Tool2

И что я хочу закончить это ...

Equipment    Start Date    End Date
Tool 1       01/01/2019    04/01/2019
Tool 1       06/01/2019    06/01/2019
Tool 1       10/01/2019    14/01/2019
Tool 2       16/01/2019    17/01/2019

Точно так же часть оборудования будет меняться в списке, и некоторые даты могут перекрываться, поскольку они могут быть забронированы одновременно - но я бы перечислил их отдельно - поэтому таблица, столбец для каждой отдельной единицы оборудования.

Это вообще возможно ?? Пожалуйста, помогите, если вам нужно, чтобы я объяснил дальше, пожалуйста, дайте мне знать .....

1 Ответ

1 голос
/ 04 июня 2019

Имейте в виду, что это очень грубый пример, и я уверен, что некоторые другие члены сообщества могут создать гораздо более элегантное решение, но вот один из способов приблизиться к нему:

Example solution

Столбец A - Даты, которые ДОЛЖНЫ быть организованы, чтобы это решение работало.Это достижимо с помощью сортировки / фильтра Excel.

Столбец B - Инструменты.В этом решении я не принимал во внимание Tool1 против Tool2.Однако, возможно, вы сможете отделить инструменты друг от друга на разных листах?Или, возможно, вы могли бы придумать умный способ принять во внимание инструмент.

Столбец C - Проверяет, следует ли дата столбца A сразу же после предыдущей, тем самым делая его частьювременной блок.

столбец D - проверяет, является ли дата в столбце A начальной датой временного блока.

Столбец E - Проверяет, является ли дата столбца A конечной датой временного блока.

Столбец F - Проверяет, является ли дата столбца А началом и концом временного блока.IE инструмент арендован только на один день?

Столбец G - Генерирует текст, связанный с датой начала.

Столбец H - Создаеттекст, связанный с датой окончания.

Столбец I - объединяет текст из столбца G и столбца H для создания одного столбца информации временного блока.Теперь нам просто нужно удалить пустые блоки (то есть пробелы) между информацией о дате.

Если мы удалим пробел с помощью функции TEXTJOIN, а затем удалим ненужные CHAR(10), мы можем получить что-то вроде следующего:

Example output

Опять же, это очень грубый пример, но я надеюсь, что он поможет вам встать на правильный путь!

...