Создание последовательности дат в Excel и автоматическое заполнение серий дат

  • Поделись Этим
Michael Brown

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

До недавнего времени существовал только один простой способ создания дат в Excel - функция автозаполнения. С появлением новой функции динамического массива SEQUENCE появилась возможность создавать серии дат с помощью формулы. В этом учебнике подробно рассматриваются оба метода, чтобы вы могли выбрать наиболее подходящий для вас.

    Как заполнить серию дат в Excel

    Когда вам нужно заполнить столбец датами в Excel, самый быстрый способ - использовать функцию автозаполнения.

    Автоматическое заполнение серии дат в Excel

    Заполнить столбец или строку датами, которые увеличиваются на один день, очень просто:

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

    Excel немедленно создаст серию дат в том же формате, что и первая дата, которую вы ввели вручную.

    Заполните столбец днями недели, месяцами или годами

    Чтобы создать серию рабочих дней, месяцев или лет, выполните одно из следующих действий:

    • Заполните столбец последовательными датами, как описано выше. После этого нажмите кнопку Параметры автозаполнения и выберите нужную опцию, например Месяцы наполнения :

    • Или вы можете ввести первую дату, щелкнуть правой кнопкой мыши на ручке заливки, удерживать и перетаскивать через необходимое количество ячеек. Когда вы отпустите кнопку мыши, появится контекстное меню, позволяющее выбрать нужную опцию, Годы наполнения в нашем случае:

    Заполнить серию дат с инкрементом в N дней

    Для автоматической генерации серии дней, дней недели, месяцев или лет с помощью функции конкретный шаг Вот что вам нужно сделать:

    1. Введите начальную дату в первую ячейку.
    2. Выберите эту ячейку, щелкните правой кнопкой мыши ручку заливки, перетащите ее через необходимое количество ячеек, а затем отпустите.
    3. Во всплывающем меню выберите Серия (последний пункт).
    4. В Серия В диалоговом окне выберите Дата единица интерес и установить Значение шага .
    5. Нажмите OK.

    Дополнительные примеры см. в разделе Как вставлять и автозаполнять даты в Excel.

    Как сделать последовательность дат в Excel с помощью формулы

    В одном из предыдущих уроков мы рассмотрели, как использовать новую функцию динамического массива SEQUENCE для создания последовательности чисел. Поскольку внутри Excel даты хранятся в виде порядковых номеров, функция может легко создавать и ряд дат. Все, что вам нужно сделать, это правильно настроить аргументы, как объясняется в следующих примерах.

    Примечание. Все формулы, рассмотренные здесь, работают только в последних версиях Excel 365, поддерживающих динамические массивы. В додинамических Excel 2019, Excel 2016 и Excel 2013 используйте функцию автозаполнения, как показано в первой части этого руководства.

    Создание серии дат в Excel

    Чтобы создать последовательность дат в Excel, задайте следующие аргументы функции SEQUENCE:

    SEQUENCE(rows, [columns], [start], [step])
    • Строки - количество строк для заполнения датами.
    • Колонки - количество столбцов для заполнения датами.
    • Начало - начальную дату в формате, понятном Excel, например, "8/1/2020" или "1-Aug-2020". Чтобы избежать ошибок, можно указать дату с помощью функции DATE, например, DATE(2020, 8, 1).
    • Шаг - приращение для каждой последующей даты в последовательности.

    Например, чтобы составить список из 10 дат, начинающихся с 1 августа 2020 года и увеличивающихся на 1 день, используется следующая формула:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(10, 1, "8/1/2020", 1)

    или

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(10, 1, ДАТА(2020, 8, 1), 1)

    В качестве альтернативы вы можете ввести количество дат (B1), дату начала (B2) и шаг (B3) в предопределенные ячейки и сослаться на эти ячейки в вашей формуле. Поскольку мы создаем список, номер столбца (1) является жестко заданным:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(B1, 1, B2, B3)

    Введите приведенную ниже формулу в самую верхнюю ячейку (в нашем случае A6), нажмите клавишу Enter, и результаты автоматически распространятся на указанное количество строк и столбцов.

    Примечание. По умолчанию Общий чтобы они отображались правильно, обязательно примените формат Дата ко всем ячейкам в диапазоне разлива.

    Составьте серию рабочих дней в Excel

    Чтобы получить серию только рабочих дней, оберните SEQUENCE в функцию WORKDAY или WORKDAY.INTL таким образом:

    РАБОЧИЙ ДЕНЬ( дата начала -1, SEQUENCE( количество_дней ))

    Поскольку функция WORKDAY добавляет к начальной дате количество дней, указанное во втором аргументе, мы вычитаем из нее 1, чтобы в результаты была включена сама начальная дата.

    Например, для создания последовательности рабочих дней, начинающихся с даты в B2, формула выглядит следующим образом:

    = РАБОЧИЙ ДЕНЬ(B2-1, ПОСЛЕДОВАТЕЛЬНОСТЬ(B1))

    Где B1 - размер последовательности.

    Советы и примечания:

    • Если дата начала приходится на субботу или воскресенье, серия начнется на следующий рабочий день.
    • Функция Excel WORKDAY предполагает, что суббота и воскресенье являются выходными днями. Чтобы настроить пользовательские выходные и праздничные дни, используйте вместо этого функцию WORKDAY.INTL.

    Создание последовательности месяцев в Excel

    Чтобы создать серию дат, увеличенную на один месяц, можно использовать эту общую формулу:

    ДАТА( год , ПОСЛЕДОВАТЕЛЬНОСТЬ(12), день )

    В данном случае вы помещаете целевой год в 1-й аргумент и день в 3-й аргумент. Для 2-го аргумента функция SEQUENCE возвращает последовательные числа от 1 до 12. На основе вышеуказанных параметров функция DATE создает серию дат, как показано в левой части скриншота ниже:

    = ДАТА(2020, ПОСЛЕДОВАТЕЛЬНОСТЬ(12), 1)

    Чтобы отобразить только названия месяцев установите один из перечисленных ниже пользовательских форматов даты для диапазона разлива:

    • ммм - краткая форма типа Ян , Февраль , Мар , и т.д.
    • мммм - полная форма как Январь , Февраль , Март , и т.д.

    В результате в ячейках появятся только названия месяцев, но базовые значения по-прежнему будут полными датами. В обеих сериях на скриншоте ниже обратите внимание на правое выравнивание по умолчанию, характерное для чисел и дат в 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, ГОД( дата начала )), МЕСЯЦ( дата начала ), DAY( дата начала ))

    Где n это количество дат, которые вы хотите сгенерировать.

    В этом случае функция DATE(год, месяц, день) строит дату таким образом:

    • Год возвращается функцией SEQUENCE, которая настроена на создание n массив чисел из строк по 1 столбцу, начиная со значения года из дата начала .
    • Месяц и день значения извлекаются непосредственно из начальной даты.

    Например, если вы введете начальную дату в B1, следующая формула выведет серию из 10 дат с шагом в один год:

    =DATE(SEQUENCE(10, 1, YEAR(B1)), MONTH(B1), DAY(B1))

    После форматирования в виде дат результаты будут выглядеть следующим образом:

    Создание временной последовательности в Excel

    Поскольку время хранится в Excel в виде десятичных чисел, представляющих собой доли дня, функция SEQUENCE может работать с временем напрямую.

    Предполагая, что время начала в B1, вы можете использовать одну из следующих формул для получения серии из 10 раз. Разница только в шаг Аргумент. Поскольку в сутках 24 часа, используйте 1/24 для увеличения на час, 1/48 для увеличения на 30 минут и так далее.

    С интервалом в 30 минут:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(10, 1, B1, 1/48)

    С разницей в 1 час:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(10, 1, B1, 1/24)

    С разницей в 2 часа:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(10, 1, B1, 1/12)

    На скриншоте ниже показаны результаты:

    Если вы не хотите возиться с расчетом шага вручную, вы можете задать его с помощью функции ВРЕМЯ:

    SEQUENCE(rows, columns, start, TIME( час , минута , второй ))

    Для этого примера мы введем все переменные в отдельные ячейки, как показано на скриншоте ниже. Затем вы можете использовать приведенную ниже формулу для создания временного ряда с любым заданным вами размером шага приращения в ячейках E2 (часы), E3 (минуты) и E4 (секунды):

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(B2, B3, B4, TIME(E2, E3, E4))

    Как создать ежемесячный календарь в Excel

    В этом последнем примере мы будем использовать функцию SEQUENCE вместе с DATEVALUE и WEEKDAY для создания ежемесячного календаря, который будет автоматически обновляться на основе указанного вами года и месяца.

    Формула в A5 выглядит следующим образом:

    =SEQUENCE(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)

    Как работает эта формула:

    Вы используете функцию SEQUENCE для создания массива дат в 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

    Функция WEEKDAY возвращает день недели, соответствующий 1-му дню целевого месяца, в виде числа от 1 (воскресенье) до 7 (суббота). В нашем случае это 7, потому что 1 августа 2020 года - суббота. И наша формула сводится к:

    44044 - 7 + 1

    44044 - 7 - это 4403, что соответствует субботе, 25 июля 2020 г. Поскольку нам нужно воскресенье, добавляем поправку +1.

    Таким образом, мы получаем простую формулу, которая выводит массив серийных номеров, начинающихся с 4404:

    = ПОСЛЕДОВАТЕЛЬНОСТЬ(6, 7, 4404, 1)

    Отформатируйте результаты как даты, и вы получите календарь, показанный на скриншоте выше. Например, вы можете использовать один из следующих форматов дат:

    • d-mmm-yy для отображения дат, например 1-авг-20
    • ммм д для отображения месяца и дня, например 20 августа
    • d для отображения только дня

    Подождите, но мы же хотим создать месячный календарь. Почему отображаются некоторые даты предыдущего и следующего месяца? Чтобы скрыть эти неактуальные даты, настройте правило условного форматирования с помощью приведенной ниже формулы и примените к ней формулу белый шрифт цвет:

    =MONTH(A5)MONTH(DATEVALUE($B$2 & "1"))

    Где A5 - крайняя левая ячейка вашего календаря, а B2 - целевой месяц.

    Подробные шаги см. в статье Как создать правило условного форматирования на основе формулы в Excel.

    Вот как можно создать последовательность дат в Excel. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Рабочая тетрадь для тренировок для скачивания

    Последовательность дат в Excel - примеры формул (файл.xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.