Если в вашей таблице Excel столбец с датами рождения отображается как набор чисел (например, 45678 вместо 15.05.1987), а стандартный фильтр не распознаёт их как даты, проблема кроется в формате ячеек. Прежде чем настраивать фильтрацию, проверьте, что столбец имеет формат «Дата» (выделите ячейки → правая кнопка → Формат ячеек... → категория Дата). Только после этого фильтр сможет корректно обрабатывать диапазоны по годам, месяцам или возрастным группам.
В этой статье разберём 5 способов фильтрации по дате рождения — от базового автофильтра до расширенных формул для вычисления возраста. Особое внимание уделим типичным ошибкам: почему фильтр не показывает все записи за выбранный год или почему даты отображаются как текст. Все инструкции актуальны для Excel 2010–2026 и Excel Online.
1. Базовый автофильтр по дате рождения
Самый быстрый способ отфильтровать записи по дате — использовать встроенный автофильтр. Он позволяет выбрать конкретную дату, диапазон или период (например, все рождённые в мае). Алгоритм:
- 📌 Выделите заголовок столбца с датами рождения (например, ячейку
A1с названием «Дата рождения»). - 🔍 Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - 📅 В выпадающем списке столбца выберите
Фильтры по дате→ укажите нужный критерий (например,Равно...,До...,Между...).
Если в выпадающем списке даты отображаются как числа (например, 44197), значит формат ячеек сбился. Исправьте его, как описано во вводном абзаце, и повторите шаги.
2. Пользовательский фильтр для сложных условий
Автофильтр ограничен стандартными диапазонами, но что делать, если нужно отобразить людей, родившихся в чётные годы или в високосные дни? Здесь поможет пользовательский фильтр:
- Активируйте фильтр для столбца с датами (как в предыдущем разделе).
- В выпадающем списке выберите
Числовые фильтры→Настраиваемый фильтр.... - В поле слева укажите условие (например,
год рождения чётный):=ЧЁТН(ГОД(A2))Где
A2— первая ячейка с датой в вашей таблице.
Для фильтрации по возрасту используйте формулу:
=ГОД(СЕГОДНЯ())-ГОД(A2)>=18
Эта формула покажет всех, кому исполнилось 18 лет.
- Столбец с датами имеет формат «Дата» (не «Общий» или «Текст»).
- В формулах указаны правильные адреса ячеек (например, A2, а не A1).
- Для возраста учтён текущий год (СЕГОДНЯ()).
- Нет пустых ячеек в фильтруемом диапазоне.-->
3. Фильтрация по возрастным группам
Частая задача — разделить записи по возрастным категориям (например, «18–25 лет», «26–40 лет»). Для этого:
- Добавьте вспомогательный столбец с формулой расчёта возраста:
=ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)Где
A2— ячейка с датой рождения, а365,25учитывает високосные годы. - Примените автофильтр к новому столбцу и выберите нужный диапазон (например,
Больше или равно 18иМеньше или равно 25).
Важно: Формула =(СЕГОДНЯ()-A2)/365 без ЦЕЛОЕ даст дробный возраст (например, 25,3 года), что может помешать точной фильтрации.
| Возрастная группа | Формула для фильтра | Пример отображения |
|---|---|---|
| 0–17 лет | =ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)<18 | Дети и подростки |
| 18–25 лет | =И(ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)>=18;ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)<=25) | Молодёжь |
| 26–40 лет | =И(ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)>=26;ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)<=40) | Взрослые |
| 41+ лет | =ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)>=41 | Старшее поколение |
Автофильтром по годам|Пользовательским фильтром с формулами|Через сводные таблицы|Другим способом-->
4. Фильтр по месяцу или дню рождения
Если нужно найти всех, кто родился в конкретный месяц (например, в декабре) или в определённый день (например, 1 января), используйте функцию МЕСЯЦ() или ДЕНЬ():
- 📅 Для фильтрации по месяцу:
=МЕСЯЦ(A2)=12Где
12— декабрь. - 🎂 Для фильтрации по дню:
=ДЕНЬ(A2)=1Где
1— первое число месяца.
Чтобы отобразить тех, кто родился в зимние месяцы (декабрь, январь, февраль), комбинируйте условия с функцией ИЛИ():
=ИЛИ(МЕСЯЦ(A2)=12;МЕСЯЦ(A2)=1;МЕСЯЦ(A2)=2)
⚠️ Внимание: Если даты в таблице хранятся как текст (например, «15.05.1987»), функцииМЕСЯЦ()иДЕНЬ()вернут ошибку#ЗНАЧ!. Преобразуйте текст в даты с помощьюДАТАЗНАЧ()или инструментаТекст по столбцам(вкладкаДанные).
5. Расширенный фильтр для сложных запросов
Когда нужно отфильтровать данные по нескольким критериям одновременно (например, дата рождения после 1990 года И возраст меньше 30 лет), используйте расширенный фильтр:
- Создайте диапазон критериев (например, в ячейках
D1:E2):D1: "Дата рождения" | E1: "Возраст"
D2: ">01.01.1990" | E2: "<30"
- Перейдите на вкладку
Данные→Расширенный фильтр. - Укажите исходный диапазон (ваша таблица) и диапазон критериев (
D1:E2). - Выберите опцию
Фильтровать список на местеили скопируйте результаты в другое место.
Расширенный фильтр поддерживает формулы в критериях. Например, чтобы показать тех, кто родился в високосный год, используйте:
=ОСТАТ(ГОД(A2);4)=0
Как проверить, является ли год високосным?
Високосный год делится на 4 без остатка, но если он делится на 100, то должен делиться и на 400. Формула для Excel:
=ИЛИ(ОСТАТ(ГОД(A2);400)=0;И(ОСТАТ(ГОД(A2);4)=0;ОСТАТ(ГОД(A2);100)<>0))6. Типичные ошибки и как их исправить
Даже опытные пользователи сталкиваются с проблемами при фильтрации дат. Вот самые распространённые:
- 🔴 Фильтр не показывает все записи за год: Проверьте, что в столбце нет пустых ячеек или текста (например, «неизвестно»). Excel игнорирует их при фильтрации.
- 🔴 Даты отображаются как числа: Измените формат ячеек на
Дата(правая кнопка →Формат ячеек→Дата). - 🔴 Формулы возраста возвращают ошибку: Убедитесь, что даты введены корректно (например,
15.05.1987, а не15-05-1987).
Если фильтр «завис» и не обновляется, попробуйте:
- Отключить и включить фильтр заново (
Данные→Фильтр). - Проверить, нет ли скрытых строк в таблице (выделите весь лист → правая кнопка →
Показать). - Обновить данные (
Данные→Обновить все), если таблица связана с внешними источниками.
⚠️ Внимание: При копировании отфильтрованных данных в другую книгу Excel скопируются только видимые ячейки. Чтобы сохранить всю таблицу, сначала снимите фильтр (Данные→Очистить).
FAQ: Частые вопросы по фильтрации дат рождения
Как отфильтровать тех, кто родился в определённом десятилетии (например, 1980-е)?
Используйте пользовательский фильтр с условием:
=И(ГОД(A2)>=1980;ГОД(A2)<=1989)
Или через автофильтр: Фильтры по дате → Между... и укажите 01.01.1980 и 31.12.1989.
Почему фильтр не видит даты после 2030 года?
Excel по умолчанию считает даты после 31.12.2029 текстовыми. Чтобы исправить:
- Выделите столбец с датами.
- Перейдите в
Формат ячеек→Датаи выберите подходящий формат. - Если даты всё равно не распознаются, используйте функцию
ДАТА()для преобразования (например,=ДАТА(2035;5;15)).
Можно ли фильтровать по знаку зодиака?
Да, но для этого нужно добавить вспомогательный столбец с формулой, определяющей знак зодиака по дате. Пример:
=ЕСЛИ(И(МЕСЯЦ(A2)=3;ДЕНЬ(A2)>=21);"Овен";ЕСЛИ(И(МЕСЯЦ(A2)=4;ДЕНЬ(A2)<=19);"Овен";...))
Затем примените автофильтр к новому столбцу.
Как сохранить отфильтрованные данные в отдельный файл?
Скопируйте видимые ячейки:
- Примените нужный фильтр.
- Выделите заголовки и данные (не захватвайте скрытые строки!).
- Нажмите
Ctrl+C, затем вставьте в новую книгу (Ctrl+V). - Сохраните файл как
Книга Excel (*.xlsx).
Альтернатива: используйте Расширенный фильтр с опцией Скопировать результат в другое место.
Почему при фильтрации по возрасту некоторые записи пропадают?
Вероятные причины:
- В формуле расчёта возраста не учтён текущий год (используйте
СЕГОДНЯ(), а не фиксированную дату). - В столбце с датами есть ошибки (например,
#ЗНАЧ!или пустые ячейки). - Формат ячеек с датами — текстовый. Преобразуйте их в даты с помощью
ДАТАЗНАЧ().