Серия дат в день
= Дата + 1
Если вам нужно создать динамическую серию дат с формулой, которая увеличивается на один день с одной даты начала, вы можете сделать очень простую формулу, которая просто добавляет 1 к каждой дате.
В этом примере B6 является жестко запрограммированной датой начала, а формула в B7:
= B6 + 1
Поскольку даты в Excel - это просто серийные номера (первая дата в стандартной системе даты Excel - 1 января 1900 г.), вы можете корректировать даты, просто добавляя или вычитая значения. Чтобы решить эту формулу, Excel просто добавляет 1 к дате в B6.
Поэтому первая формула возвращает новую дату 1/31/2000, на один день позже начальной даты.
Как только первая формула введена, она копируется вниз настолько, насколько это необходимо. Каждая последующая формула создает новую дату, увеличенную на один день. Вы можете легко настроить формулу для генерации будущих дат по неделям, используя 7 вместо 1, вот так:
= B6 + 7
Серия дат по месяцам
= ДАТА(ГОД (дата); МЕСЯЦ (дата) + 1; ДЕНЬ (дата))
= DATE(YEAR (дата); MONTH (дата) + 1; DAY (дата))
Если вам нужно создать динамическую серию дат с формулой, которая увеличивается на один месяц с одной даты начала, вы можете сделать это с помощью формулы, в которой используются функции ДЕНЬ, МЕСЯЦ, ГОД и ДАТА.
В этом примере B6 является жестко запрограммированной датой начала, а формула в B7:
= ДАТА (ГОД (B6); МЕСЯЦ (B6) + 1; ДЕНЬ (B6))
= DATE (YEAR (B6); MONTH (B6) + 1; DAY (B6))
= ДАТА (ГОД (B6); МЕСЯЦ (B6) + 1; ДЕНЬ (B6))
= DATE (YEAR (B6); MONTH (B6) + 1; DAY (B6))
= ДАТА(2010;1 + 1;15)
= DATE(2010;1 + 1;15)
= ДАТА(2010;2;15)
= DATE(2010;2;15)
= 2/15/2010
Поэтому первая формула возвращает новую дату 15.02.2010, на один день позже, чем дата начала.
Как только первая формула введена, она копируется вниз настолько, насколько это необходимо. Каждая последующая формула создает новую дату, увеличенную на один день.
Примечание. Если вы начинаете с даты 31 января, приведенная выше формула будет пропускать февраль и переходить к марту. Это происходит из-за того, что новая дата, 2/31/2010 не существует, поэтому Excel использует значение дня для перехода к 3/3/2010, через 3 дня после последнего дня февраля.
Если вам нужна серия дат, где каждая дата является последним днем месяца, вы можете использовать КОНМЕСЯЦА следующим образом:
= КОНМЕСЯЦА(B6;1)
= EOMONTH(B6;1)
Серия дат по выходным
= ЕСЛИ(ДЕНЬНЕД(дата) = 7; дата + 1; дата + (7-ДЕНЬНЕД(дата)))
= IF(WEEKDAY(дата) = 7; дата + 1; дата + (7-WEEKDAY(дата)))
Чтобы решить эту формулу, Excel сначала вычисляет значение дня недели для даты в B5. По умолчанию рабочий день будет возвращать 1 для воскресенья и 7 для субботы. Затем Excel проверяет день недели внутри оператора ЕСЛИ, используя B5 = 7 в качестве логического теста. Если B5 = 7, дата в B6 является субботой и результат, если возвращается истина: B5 + 1. Таким образом, если B5 является субботой, формула возвращает следующий день (воскресенье).
Если нет, возвращается результат, если ложь:
= ЕСЛИ (ДЕНЬНЕД(B5) = 7; B5 + 1; B5 + (7-ДЕНЬНЕД(B5)))
= IF (WEEKDAY(B5) = 7; B5 + 1; B5 + (7-WEEKDAY(B5)))
Чтобы решить эту формулу, Excel сначала вычисляет значение дня недели для даты в B5. По умолчанию рабочий день будет возвращать 1 для воскресенья и 7 для субботы. Затем Excel проверяет день недели внутри оператора ЕСЛИ, используя B5 = 7 в качестве логического теста. Если B5 = 7, дата в B6 является субботой и результат, если возвращается истина: B5 + 1. Таким образом, если B5 является субботой, формула возвращает следующий день (воскресенье).
Если нет, возвращается результат, если ложь:
B5 + (7-ДЕНЬНЕД(B5))
B5 + (7-2) = B5 + 5 <- Пн
B5 + (7-3) = B5 + 4 <- Вт
B5 + (7-4) = B5 + 3 <- Ср
B5 + (7-5) = B5 + 2 <- Чт
B5 + (7-6) = B5 + 1 <- Пт
Серия дат по рабочим дням
= РАБДЕНЬ(дата; 1)
= WORKDAY(дата; 1)
Если вам нужно создать динамическую серию дат, которые являются рабочими днями (например, с понедельника по пятницу), вы можете сделать это с помощью простой формулы, которая использует функцию РАБДЕНЬ.
В этом примере B6 является жестко запрограммированной датой начала, а формула в B7:
= РАБДЕНЬ(B6;1)
= WORKDAY(B6;1)
Excel решает эту формулу, используя функцию РАБДЕНЬ для возврата к следующему рабочему дню. РАБДЕНЬ запрограммирована на то, чтобы пропустить вперед по мере необходимости до следующего рабочего дня.
Если вам нужно учитывать праздники, вы добавляете необязательный аргумент функции РАБДЕНЬ для праздников:
= РАБДЕНЬ(дата; 1; праздничные дни)
Где праздники - это ссылка на список дат, которые представляют нерабочие дни.
Если вам нужно учитывать пользовательские выходные дни (например, выходные - это только суббота, воскресенье и понедельник и т. д.), вам нужно переключиться на более надежную функцию РАБДЕНЬ.МЕЖД, которая позволяет вам установить, какие дни недели считаются, считая выходные, подавая аргумент в выходные дни в виде числового кода.
Вы также можете создать серию рабочих дней с формулой, которая использует функцию ДЕНЬНЕД. В этом случае формула проверяет начальную дату, чтобы определить, является ли она субботой или нет. Если да, то к дате начала добавляется 3 дня. Если нет, добавляется только один день.
= ЕСЛИ(ДЕНЬНЕД(дата) = 6; дата + 3; дата + 1)
= IF(WEEKDAY(дата) = 6; дата + 3; дата + 1)
Серия дат по годам
= ДАТА (ГОД (дата) + 1; МЕСЯЦ (дата); ДЕНЬ (дата))
= DATE (YEAR (дата) + 1; MONTH (дата); DAY (дата))
Если вам нужно создать динамическую серию дат с формулой, которая увеличивается на один год с одной даты начала, вы можете сделать это с помощью формулы, в которой используются функции ДЕНЬ, МЕСЯЦ, ГОД и ДАТА.
В этом примере B6 является жестко запрограммированной датой начала, а формула в B7:
= ДАТА (ГОД (B6) + 1; МЕСЯЦ (B6); ДЕНЬ (B6))
= DATE (YEAR (B6) + 1; MONTH (B6); DAY (B6))
= ДАТА (ГОД (B6) + 1; МЕСЯЦ (B6); ДЕНЬ (B6))
= DATE (YEAR (B6) + 1; MONTH (B6); DAY (B6))
= ДАТА(2010 + 1;1;15)
= DATE(2010 + 1;1;15)
= ДАТА(2011;1;15)
= DATE(2011;1;15)
= 1/15/2011
Поэтому первая формула возвращает новую дату 1/15/2011, на год позже начальной даты.
Как только первая формула введена, она копируется вниз настолько, насколько это необходимо. Каждая последующая формула создает новую дату, увеличенную на один день.
Вы можете легко настроить эту формулу, если это необходимо. Например, если вам нужна серия дат, где каждая дата является первым днем нового года, вы можете использовать формулу, подобную этой
= ДАТА(ГОД (дата) +1;1;1)
= DATE(YEAR (дата) +1;1;1)
скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь