Формула Excel: Последовательность дней -

Общая формула

=SEQUENCE(days,1,start_date,step)

Резюме

Чтобы сгенерировать серию дат по дням, вы можете использовать функцию SEQUENCE. В показанном примере формула E5 выглядит так:

=SEQUENCE(12,1,C4,1)

который генерирует серию из 12 дат, начиная с 1 мая 2019 года, даты в C4.

Объяснение

Функция SEQUENCE - это функция динамического массива, которая может генерировать несколько результатов. При использовании на рабочем листе отдельно SEQUENCE выводит массив результатов, которые «переливаются» на рабочий лист в «диапазоне разлива».

SEQUENCE может генерировать результаты в строках, столбцах или строках и столбцах. В этом примере мы запрашиваем последовательность для массива чисел, который состоит из 12 строк на 1 столбец, начиная с даты в C4 и увеличиваясь на 1. Поскольку даты в Excel - это просто порядковые номера, а дата в C4 эквивалентна 43586, SEQUENCE выводит такой массив:

(43586;43587;43588;43589;43590;43591;43592;43593;43594;43595;43596;43597)

который выливается в диапазон E5: E16. В формате дат эти значения показывают 12 последовательных дат, начиная с 1 мая 2019 г. и заканчивая 12 мая 2019 г.

Только рабочие дни

Чтобы использовать ПОСЛЕДОВАТЕЛЬНОСТЬ для генерации серии дат, которые являются только рабочими днями, вы можете заключить ПОСЛЕДОВАТЕЛЬНОСТЬ в функцию РАБДЕНЬ или РАБДЕНЬ.INTL. В показанном примере формула в G5:

(=WORKDAY.INTL(C4-1,SEQUENCE(12)))

Примечание: это формула массива, и ее нужно вводить с помощью Ctrl + Shift + Enter. Кроме того, поскольку это формула массива с несколькими ячейками, вы должны сначала выбрать все 12 ячеек, чтобы ввести или изменить формулу.

Здесь, внутри функции РАБДЕНЬ, мы сначала вычитаем 1 день из начальной даты. Мы делаем это, чтобы заставить WORKDAY.INTL оценивать дату начала и начинать последовательность с даты начала.

Затем мы используем ПОСЛЕДОВАТЕЛЬНОСТЬ для генерации 12 последовательных чисел:

SEQUENCE(12)

Поскольку аргументы columns, start и step являются необязательными, это выводит такой массив:

(1;2;3;4;5;6;7;8;9;10;11;12)

Это числа, указанные в качестве аргумента «дни» для WORKDAY.INTL. В каждой новой строке WORKDAY.INTL вычисляет рабочий день n дней в будущем, используя массив, предоставленный SEQUENCE. WORKDAY.INTL автоматически предполагает, что суббота и воскресенье являются "выходными" (не рабочими днями), поэтому эти даты исключаются из результатов. WORKDAY.INTL также можно настроить для обработки пользовательских выходных и праздничных дней, как описано здесь.

Интересные статьи...