Зміст
У навчальному посібнику показано, як можна використовувати нову функцію ПОСЛІДОВНІСТЬ для швидкого створення списку дат в Excel і використовувати функцію автозаповнення для заповнення стовпця датами, робочими днями, місяцями або роками.
До недавнього часу існував лише один простий спосіб створення дат в Excel - функція автозаповнення. Впровадження нової функції динамічного масиву ПОСЛІДОВНІСТЬ дозволило зробити серію дат ще й за допомогою формули. У цьому уроці детально розглядаються обидва способи, щоб ви могли вибрати той, який найкраще підходить саме вам.
Як заповнити діапазон дат в Excel
Коли потрібно заповнити стовпець датами в Excel, найшвидший спосіб - скористатися функцією автозаповнення.
Автоматичне заповнення діапазону дат в Excel
Заповнити стовпець або рядок датами, які збільшуються на один день, дуже просто:
- Введіть початкову дату в першу комірку.
- Виділіть комірку з початковою датою та перетягніть маркер заповнення (маленький зелений квадратик у правому нижньому куті) вниз або вправо.
Excel негайно згенерує серію дат у тому ж форматі, що і перша дата, яку ви ввели вручну.
Заповніть колонку днями тижня, місяцями або роками
Щоб створити серію робочих днів, місяців або років, виконайте одну з наступних дій:
- Заповніть стовпчик послідовними датами, як описано вище. Після цього натисніть кнопку Параметри автозаповнення та оберіть потрібну опцію, скажімо Місяці заповнення :
- Або Ви можете ввести першу дату, натиснути правою кнопкою миші на маркер заповнення, утримувати його і перетягнути через необхідну кількість клітинок. Коли Ви відпустите кнопку миші, з'явиться контекстне меню, в якому Ви зможете вибрати потрібну опцію, Заповнити роки у нашому випадку:
Заповнити ряд дат з кроком N днів
Для автоматичної генерації серії днів, тижнів, місяців або років з конкретний крок Це те, що вам потрібно зробити:
- Введіть початкову дату в першу комірку.
- Виділіть цю клітинку, клацніть правою кнопкою миші маркер заповнення, перетягніть його через стільки клітинок, скільки потрібно, а потім відпустіть.
- У спливаючому меню оберіть Серія (останній пункт).
- В рамках проекту Серія виберіть у діалоговому вікні Одиниця виміру дати і встановлюємо, що цікавить, і встановлюємо, що цікавить. Значення кроку .
- Натисни ОК.
Більше прикладів див. у розділі Вставка та автозаповнення дат в Excel.
Як зробити послідовність дат в Excel за допомогою формули
В одному з попередніх уроків ми розглянули, як використовувати нову функцію динамічного масиву ПОСЛІДОВНІСТЬ для генерації числової послідовності. Оскільки всередині Excel дати зберігаються у вигляді порядкових номерів, функція може легко генерувати і серію дат. Для цього потрібно лише правильно налаштувати аргументи, як показано в наступних прикладах.
Примітка: всі розглянуті тут формули працюють тільки в останніх версіях Excel 365, що підтримують динамічні масиви. У додинамічних Excel 2019, Excel 2016 і Excel 2013 використовуйте функцію автозаповнення, як показано в першій частині цього уроку.
Створення ряду дат в Excel
Для генерації послідовності дат в Excel задайте наступні аргументи функції ПОСЛЕДОВАТЕЛЬНОСТЬ:
SEQUENCE(рядки, [стовпці], [початок], [крок])- Ряди - кількість рядків для заповнення датами.
- Колонки - кількість колонок для заповнення датами.
- Старт - дату початку у форматі, який розуміє Excel, наприклад, "8/1/2020" або "1-Авг-2020". Щоб уникнути помилок, можна вказати дату за допомогою функції ДАТА, наприклад, ДАТА(2020, 8, 1).
- Крок - приріст на кожну наступну дату в послідовності.
Наприклад, щоб скласти список з 10 дат, починаючи з 1 серпня 2020 року і збільшуючи на 1 день, формула виглядає наступним чином:
=SEQUENCE(10, 1, "8/1/2020", 1)
або
=SEQUENCE(10, 1, DATE(2020, 8, 1), 1)
Крім того, ви можете ввести кількість дат (B1), дату початку (B2) та крок (B3) у заздалегідь визначені комірки та посилатися на ці комірки у своїй формулі. Оскільки ми створюємо список, номер стовпця (1) є жорстко закодованим:
=SEQUENCE(B1, 1, B2, B3)
Введіть наведену нижче формулу в саму верхню комірку (в нашому випадку А6), натисніть клавішу Enter, і результати автоматично розподіляться по вказаній кількості рядків і стовпців.
Примітка. За замовчуванням Генеральний Для правильного відображення результатів необхідно застосувати формат Дата до всіх комірок діапазону розливу.
Скласти ряд робочих днів в Excel
Щоб отримати серію тільки робочих днів, оберніть SEQUENCE у функцію WORKDAY або WORKDAY.INTL таким чином:
РОБОЧИЙ ДЕНЬ( дата_початку -1, SEQUENCE( немає_днів ))Оскільки функція РАБОЧИЙДЕНЬ додає до дати початку кількість днів, зазначену в другому аргументі, ми віднімаємо від неї 1, щоб мати в результатах саму дату початку.
Наприклад, для генерації послідовності робочих днів, що починаються з дати в комірці B2, формула має вигляд:
=WORKDAY(B2-1, SEQUENCE(B1))
Де B1 - розмір послідовності.
Поради та примітки:
- Якщо дата початку припадає на суботу або неділю, то серія розпочнеться наступного робочого дня.
- Функція WORKDAY в Excel припускає, що субота та неділя є вихідними днями. Щоб налаштувати власні вихідні та святкові дні, використовуйте функцію WORKDAY.INTL.
Сформувати послідовність місяців в Excel
Для створення ряду дат, збільшених на один місяць, можна скористатися такою загальною формулою:
DATE( рік , SEQUENCE(12), день )У цьому випадку ви вводите цільовий рік в 1-й аргумент і день в 3-й аргумент. Для 2-го аргументу функція ПОСЛІДОВНІСТЬ повертає порядкові номери від 1 до 12. На основі вищевказаних параметрів функція ДАТА видає серію дат, як показано в лівій частині скріншоту нижче:
=DATE(2020, SEQUENCE(12), 1)
Для відображення тільки назви місяців , встановіть один з наведених нижче користувацьких форматів дати для діапазону розливу:
- ммм - коротка форма на зразок Ян , Лютий , Березень і т.д.
- mmmm - повна форма як січень , лютий , Березень і т.д.
В результаті в комірках з'являться лише назви місяців, але базові значення все одно будуть повними датами. В обох серіях на скріншоті нижче, будь ласка, зверніть увагу на вирівнювання за замовчуванням по правому краю, характерне для чисел і дат в Excel:
Згенерувати послідовність дат, яка збільшується на один місяць та починається з конкретної дати використовуйте функцію SEQUENCE разом з EDATE:
EDATE( дата_початку , SEQUENCE(12, 1, 0))Функція EDATE повертає дату, яка є вказаною кількістю місяців до або після дати початку. А функція SEQUENCE створює масив з 12 чисел (або стільки, скільки ви вкажете), щоб змусити EDATE рухатися вперед з кроком в один місяць. Зверніть увагу, що функція початок дорівнює 0, щоб дата початку враховувалася в результатах.
З датою початку в B1 формула набуває такого вигляду:
=EDATE(B1, SEQUENCE(12, 1, 0))
Примітка: Після заповнення формули, будь ласка, не забудьте застосувати відповідний формат дати до результатів для їх коректного відображення.
Створення послідовності років в Excel
Для того, щоб зробити ряд дат, збільшених по роках, використовуйте цю загальну формулу:
DATE(SEQUENCE( n , 1, YEAR( дата_початку )), МІСЯЦЬ( дата_початку ), ДЕНЬ( дата_початку ))Де n кількість дат, які потрібно згенерувати.
У цьому випадку функція ДАТА(рік, місяць, день) конструює дату таким чином:
- Рік повертається функцією SEQUENCE, яка налаштована на генерацію n рядків по 1 стовпчику масив чисел, починаючи зі значення року від дата_початку .
- Місяць і день значення беруться безпосередньо з дати початку.
Наприклад, якщо ви введете дату початку в B1, наступна формула виведе серію з 10 дат з кроком в один рік:
=DATE(SEQUENCE(10, 1, YEAR(B1)), MONTH(B1), DAY(B1))
Після форматування у вигляді дат результати будуть виглядати наступним чином:
Створення часової послідовності в Excel
Оскільки час зберігається в Excel у вигляді десяткових чисел, що представляють частку доби, функція ПОСЛІДОВНІСТЬ може працювати з часом безпосередньо.
Припускаючи, що час початку знаходиться в B1, ви можете використовувати одну з наступних формул, щоб створити серію з 10 разів. Різниця полягає лише в тому, що крок Аргумент: оскільки в добі 24 години, використовуйте 1/24 для збільшення на годину, 1/48 для збільшення на 30 хвилин і так далі.
З інтервалом у 30 хвилин:
=SEQUENCE(10, 1, B1, 1/48)
З різницею в 1 годину:
=SEQUENCE(10, 1, B1, 1/24)
З різницею в 2 години:
=SEQUENCE(10, 1, B1, 1/12)
Скріншот нижче демонструє результати:
Якщо ви не хочете обтяжувати себе розрахунком кроку вручну, ви можете визначити його за допомогою функції ВРЕМЯ:
SEQUENCE(rows, columns, start, TIME( година , хвилина , другий ))Для цього прикладу ми введемо всі змінні в окремі комірки, як показано на скріншоті нижче. А потім ви можете використовувати наведену нижче формулу для створення часового ряду з будь-яким розміром кроку, який ви вкажете в комірках E2 (години), E3 (хвилини) та E4 (секунди):
=ПОСЛІДОВНІСТЬ(B2, B3, B4, ЧАС(E2, E3, E4))
Як створити місячний календар в Excel
У цьому останньому прикладі ми будемо використовувати функцію SEQUENCE разом з DATEVALUE і WEEKDAY для створення щомісячного календаря, який буде автоматично оновлюватися на основі вказаних вами року і місяця.
Формула в А5 виглядає наступним чином:
=ПОСЛІДОВНІСТЬ(6, 7, ЗНАЧЕННЯ ДАТИ("1/"&B2&"/"&B1) - ТИЖДЕНЬ(ЗНАЧЕННЯ ДАТИ("1/"&B2&"/"&B1)) + 1, 1)
Як працює ця формула:
За допомогою функції ПОСЛІДОВНІСТЬ формується масив дат з 6 рядків (максимально можлива кількість тижнів у місяці) на 7 стовпців (кількість днів у тижні), які збільшуються на 1 день. Таким чином, функція ПОСЛІДОВНІСТЬ ряди , колонки і крок аргументи не викликають питань.
Найскладнішим у цій справі є те, що початок Аргумент. Ми не можемо починати наш календар з 1-го числа цільового місяця, оскільки не знаємо, який це день тижня. Отже, ми використовуємо наступну формулу, щоб знайти першу неділю перед 1-м числом заданого місяця і року:
DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
Перша функція DATEVALUE повертає порядковий номер, який у внутрішній системі Excel відповідає 1-му числу місяця в комірці B2 та року в комірці B1. У нашому випадку це 44044, що відповідає 1 серпня 2020 року. На даний момент ми маємо:
44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
Функція ДЕНЬТИЖНЯ повертає день тижня, відповідний 1-му числу цільового місяця у вигляді числа від 1 (неділя) до 7 (субота). У нашому випадку це 7, тому що 1 серпня 2020 року - субота. І наша формула зводиться до:
44044 - 7 + 1
44044 - 7 - 4403, що відповідає суботі 25 липня 2020 р. Оскільки нам потрібна неділя, додаємо поправку +1.
Таким чином, ми отримуємо просту формулу, яка виводить масив серійних номерів, починаючи з 4404:
=SEQUENCE(6, 7, 4404, 1)
Відформатуйте результати у вигляді дат, і ви отримаєте календар, показаний на скріншоті вище. Наприклад, ви можете використовувати один з наступних форматів дат:
- д-ммм-yy для відображення таких дат, як 1-Aug-20
- mmm d для відображення місяця і дня як 20 серпня
- d для відображення тільки дня
Зачекайте, але ж ми маємо на меті створити місячний календар. Чому відображаються деякі дати попереднього і наступного місяця? Щоб приховати ці неактуальні дати, створіть правило умовного форматування за допомогою наведеної нижче формули і застосуйте функцію білий шрифт колір:
=MONTH(A5)MONTH(DATEVALUE($B$2 & "1"))
Де A5 - крайня ліва клітинка календаря, а B2 - цільовий місяць.
Детальні кроки див. у статті Як створити правило умовного форматування на основі формули в Excel.
Ось так можна сформувати послідовність дат в Excel. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!
Практичний посібник для завантаження
Послідовність дат в Excel - приклади формул (файл .xlsx)