Выпадающие списки в Microsoft Excel экономят время и снижают риск ошибок при вводе данных. Но когда речь идет о датах, стандартный подход с ручным перечислением вариантов становится неудобным: приходится вручную прописывать каждую дату, а при изменении диапазона — редактировать правила проверки. К счастью, в Excel есть минимум 5 способов создать динамический выпадающий список с датами, которые автоматически обновляются при изменении условий.
Эта статья подойдет и новичкам, и опытным пользователям: мы разберем простые методы (например, через Проверку данных) и продвинутые (с использованием формул ДАТА(), СЕГОДНЯ() и динамических массивов). Все инструкции актуальны для Excel 2013–2026 и Office 365, включая веб-версию. В конце статьи — FAQ с ответами на типичные ошибки и уникальный шаблон для скачивания.
1. Простой выпадающий список с фиксированными датами
Если вам нужно ограничить выбор пользователя конкретным набором дат (например, днями недели или квартальными отчетами), используйте стандартный инструмент проверки данных. Этот метод подходит для статических списков, которые не требуют частого обновления.
Как создать:
- 📌 Выделите ячейку (или диапазон), где должен появиться список.
- 📌 Перейдите на вкладку
Данные→Проверка данных(илиData Validationв английской версии). - 📌 В поле
Тип данныхвыберитеСписок. - 📌 В поле
Источниквведите даты через запятую (например,01.01.2026, 15.01.2026, 31.01.2026) или укажите диапазон ячеек с датами (например,=$A$1:$A$10).
⚠️ Внимание: Если вы укажете даты вручную (без ссылки на диапазон), Excel воспримет их как текст. Чтобы список работал с формулами, всегда ссылайтесь на ячейки с датами в формате ДД.ММ.ГГГГ.
Преимущества метода:
- ✅ Быстро настраивается (за 30 секунд).
- ✅ Подходит для небольших списков (до 32 767 элементов).
- ✅ Работает во всех версиях Excel.
Недостатки:
- ❌ При добавлении новых дат придется вручную обновлять диапазон источника.
- ❌ Не подходит для динамических списков (например, "все даты текущего месяца").
2. Динамический список с датами текущего месяца
Если вам нужен список, который автоматически обновляется (например, все дни текущего месяца), используйте комбинацию функций ДАТА(), ДЕНЬ() и СЕГОДНЯ(). Этот способ требует знания базовых формул, но результат стоит усилий: список будет всегда актуальным.
Инструкция:
- Создайте вспомогательный столбец (например,
B) и введите в первую ячейку формулу:=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ()); 1)Она вернет первую дату текущего месяца.
- В следующую ячейку введите формулу для прибавления одного дня:
=B1+1и растяните ее на столько строк, сколько дней в месяце (максимум — 31).
- В ячейке
B32добавьте проверку на конец месяца:=ЕСЛИ(МЕСЯЦ(B31+1)=МЕСЯЦ(СЕГОДНЯ()); B31+1; "")Это скрывает лишние даты следующего месяца.
- Теперь создайте выпадающий список, ссылаясь на диапазон
$B$1:$B$32.
Результат: при открытии файла в новом месяце список автоматически обновится.
☑️ Проверка динамического списка
3. Выпадающий список с датами между двумя значениями
Допустим, вам нужен список дат в диапазоне — например, с 1 января по 31 декабря 2026 года. Вместо того чтобы вручную перечислять 365 дат, используйте функцию ПОСЛЕДОВАТ() (в Excel 365 и Excel 2021) или комбинацию СТРОКА() и ДАТА() (для старых версий).
Способ 1. Для Excel 365/2021 (динамические массивы):
- Введите в ячейку
A1начальную дату (например,01.01.2026). - В ячейку
A2введите формулу:=ПОСЛЕДОВАТ(ДАТА(2026;12;31)-A1+1;1;A1;1)Она сгенерирует столбец со всеми датами 2026 года.
- Создайте выпадающий список, ссылаясь на диапазон
#(он появится автоматически после ввода формулы).
Способ 2. Для Excel 2013–2019:
- В ячейку
A1введите начальную дату (01.01.2026). - В ячейку
A2введите формулу:=ЕСЛИ(СТРОКА()-1<=ДАТА(2026;12;31)-$A$1; $A$1+СТРОКА()-1; "")и растяните ее на 366 строк (на случай високосного года).
- Создайте выпадающий список, ссылаясь на диапазон
$A$1:$A$366.
⚠️ Внимание: В Excel 2013–2019 формула ПОСЛЕДОВАТ() не работает. Используйте второй способ или обновите версию программы.
| Версия Excel | Поддерживаемая формула | Макс. количество дат в списке |
|---|---|---|
| Excel 365 / 2021 | ПОСЛЕДОВАТ() |
Неограничено (динамический массив) |
| Excel 2019 | СТРОКА() + ДАТА() |
1 048 576 (ограничение строк) |
| Excel 2013–2016 | СТРОКА() + ДАТА() |
1 048 576 |
| Excel Online | ПОСЛЕДОВАТ() |
Неограничено |
4. Выпадающий список с рабочими днями (исключая выходные)
Если вам нужны только рабочие дни (понедельник–пятница), используйте функцию РАБДЕНЬ(). Она автоматически пропускает субботы и воскресенья. Этот метод полезен для планирования задач, графиков смен или дедлайнов.
Инструкция:
- В ячейку
A1введите начальную дату (например,01.01.2026). - В ячейку
A2введите формулу:=РАБДЕНЬ($A$1; СТРОКА()-1)и растяните ее на нужное количество строк (например, 250 для полугода).
- Создайте выпадающий список, ссылаясь на диапазон
$A$1:$A$250.
Чтобы исключить также праздники, добавьте их в отдельный диапазон (например, B1:B10) и модифицируйте формулу:
=РАБДЕНЬ.МЕЖД($A$1; СТРОКА()-1; $B$1:$B$10)
5. Выпадающий список с датами из другого листа или книги
Если источник дат находится на другом листе или даже в другой книге, ссылка на диапазон должна учитывать это. Синтаксис ссылок отличается, и здесь легко ошибиться.
Ссылка на другой лист:
- 📌 В поле
Источникпроверки данных введите:=Лист2!$A$1:$A$100, гдеЛист2— название листа, аA1:A100— диапазон с датами. - 📌 Если название листа содержит пробелы или специальные символы, возьмите его в апострофы:
='Мой лист'!$A$1:$A$100.
Ссылка на другую книгу:
- 📌 Откройте обе книги (источник и целевую).
- 📌 В поле
Источниквведите путь вида:=[Имя_файла.xlsx]Лист1!$A$1:$A$100. - 📌 Важно: Если вы закроете книгу-источник, Excel заменит ссылку на абсолютный путь (например,
='C:\Users\...\[Имя_файла.xlsx]Лист1'!$A$1:$A$100). Это может привести к ошибкам при перемещении файлов.
⚠️ Внимание: При ссылке на закрытую книгу Excel сохраняет последнее значение списка, но не обновляет его при изменении данных в источнике. Всегда открывайте обе книги перед работой.
Что делать, если ссылка на книгу сломалась?
Если Excel показывает ошибку #ССЫЛКА!, проверьте:
1. Не переименовывали ли вы файл или лист.
2. Не перемещали ли файл в другую папку.
3. Открыта ли книга-источник.
Чтобы исправить, обновите ссылку вручную или используйте Правка → Ссылки → Изменить источник (в английской версии: Edit Links).
6. Продвинутые трюки: зависимые списки и условное форматирование
Выпадающие списки становятся еще мощнее, если комбинировать их с другими функциями Excel. Рассмотрим два полезных сценария:
1. Зависимые списки (каскадные)
Допустим, вам нужно сначала выбрать месяц, а затем — конкретную дату в этом месяце. Для этого:
- 📌 Создайте список месяцев в диапазоне
A1:A12(например,Январь,Февральи т. д.). - 📌 На другом листе создайте таблицу с датами для каждого месяца (например, столбец
B— январь,C— февраль). - 📌 Для ячейки с месяцем настройте проверку данных со списком
$A$1:$A$12. - 📌 Для ячейки с датой используйте формулу в поле
Источник:=ДВССЫЛ("Лист2!"&АДРЕС(1; ПОИСКПОЗ([@Месяц]; Лист2!$A$1:$A$12; 0)+1)&": "&АДРЕС(31; ПОИСКПОЗ([@Месяц]; Лист2!$A$1:$A$12; 0)+1)))где
[@Месяц]— ячейка с выбранным месяцем.
2. Подсветка просроченных дат
Чтобы выделить красным даты, которые уже прошли, используйте условное форматирование:
- Выделите ячейку с выпадающим списком.
- Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - В поле
Форматировать только ячейки свыберитеЗначение→меньшеи введите=СЕГОДНЯ(). - Задайте красный цвет текста или заливки.
FAQ: Частые ошибки и решения
Почему в выпадающем списке даты отображаются как числа (например, 45341 вместо 01.01.2026)?
Excel хранит даты в виде чисел (количество дней с 1 января 1900 года). Чтобы исправить отображение:
- Выделите ячейку со списком.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Выберите категорию
Датаи укажите нужный формат (например,14.03.2012).
Как сделать, чтобы в списке были только будущие даты (от текущей)?
Используйте динамический диапазон с формулой:
- Создайте вспомогательный столбец с формулой:
=ЕСЛИ(СЕГОДНЯ()<=A1; A1; "")где
A1— ячейка с первой датой. - Растяните формулу на нужное количество строк.
- Создайте выпадающий список, ссылаясь на этот столбец.
Пустые ячейки ("") будут проигнорированы.
Можно ли сделать выпадающий список с датами в Google Таблицах?
Да, но с ограничениями. В Google Sheets:
- Выделите ячейку →
Данные→Проверка данных. - В поле
КритерийвыберитеЭлемент из списка. - В поле
Источникукажите диапазон с датами (например,A1:A30).
Динамические массивы (как ПОСЛЕДОВАТ()) в Google Таблицах работают иначе — используйте =TOCOL(ПОСЛЕДОВАТЕЛЬНОСТЬ(...)).
Как запретить ввод дат вручную (только из списка)?
Настройте проверку данных:
- В окне
Проверка данныхперейдите на вкладкуСообщение для ввода. - Введите заголовок (например,
Ошибка) и текст:Выберите дату из списка!. - На вкладке
Параметрыснимите галочкуИгнорировать пустые ячейкии установитеОстановитьв полеТип.
Теперь при попытке ввести дату вручную Excel покажет ошибку.
Где скачать готовый шаблон с выпадающими списками дат?
Скачайте шаблон по этой ссылке (файл в формате .xlsx, совместим с Excel 2013 и новее). В шаблоне:
- 📌 3 примера динамических списков (текущий месяц, рабочие дни, диапазон дат).
- 📌 Зависимый список "месяц → дата".
- 📌 Условное форматирование для просроченных дат.
Файл защищен от редактирования структуры, но вы можете копировать формулы и настройки.