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

Зміст

Загальна формула

=SEQUENCE(days,1,start_date,step)

Резюме

Щоб згенерувати серію дат за днями, можна скористатися функцією ПОСЛІДОВНОСТІ. У наведеному прикладі формула в E5 має вигляд:

=SEQUENCE(12,1,C4,1)

який генерує серію з 12 дат, починаючи з 1 травня 2019 року, дати в С4.

Пояснення

Функція 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 року.

Тільки робочі дні

Щоб використовувати SEQUENCE для створення серії дат, які є лише робочими днями, ви можете обернути SEQUENCE у функції WORKDAY або WORKDAY.INTL. У наведеному прикладі формула в G5 має вигляд:

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

Примітка: це формула масиву, і її потрібно вводити за допомогою control + shift + enter. Окрім того, оскільки це формула масиву з декількох комірок, спочатку потрібно вибрати всі 12 комірок, щоб ввести або відредагувати формулу.

Тут, всередині функції WORKDAY, ми спочатку віднімаємо 1 день від дати початку. Ми робимо це, щоб змусити WORKDAY.INTL оцінити дату початку та розпочати послідовність з дати початку.

Далі ми використовуємо SEQUENCE для генерації 12 послідовних чисел:

SEQUENCE(12)

Оскільки аргументи стовпців, старту та кроку необов’язкові, виводиться такий масив:

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

Це цифри, надані як аргумент "днів" для WORKDAY.INTL. У кожному новому рядку WORKDAY.INTL обчислює робочий день n днів у майбутньому, використовуючи масив, що доставляється SEQUENCE. WORKDAY.INTL автоматично передбачає, що субота та неділя є "вихідними" (не робочими днями), тому ці дати виключаються з результатів. WORKDAY.INTL також можна налаштувати для обробки вихідних та святкових днів, як пояснено тут.

Цікаві статті...