Как сделать фильтр по возрасту в Excel: 5 способов с примерами

Фильтрация данных по возрасту в Microsoft Excel — одна из самых востребованных операций при работе с базами клиентов, сотрудниками или участниками мероприятий. Без правильной настройки фильтров анализ возрастных групп превращается в рутинную работу: приходится вручную просматривать сотни строк, рискуя упустить важные данные. Между тем, даже начинающий пользователь может автоматизировать этот процесс за 5-10 минут, если знает подходящие инструменты.

В этой статье мы разберём пять практических способов фильтрации по возрасту — от базового автофильтра до продвинутых формул с условиями. Вы узнаете, как отобрать людей старше 18 лет, выделить пенсионеров по дате рождения, или даже создать динамические фильтры, которые обновляются при изменении исходных данных. Все методы протестированы в Excel 2019-2023 и Microsoft 365, но большинство из них работают и в старых версиях (начиная с Excel 2010).

Перед тем как приступить, убедитесь, что ваши данные подготовлены правильно: возраст должен быть записан в отдельном столбце (либо как число, либо как дата рождения). Если у вас только даты рождения, мы покажем, как автоматически рассчитать возраст с учётом текущего года.

1. Базовый фильтр по возрасту (автофильтр)

Самый простой способ отфильтровать данные по возрасту — использовать встроенный автофильтр. Он подходит для одноразовых задач, когда нужно быстро отобрать записи по заданному критерию (например, всех сотрудников старше 30 лет).

Чтобы включить автофильтр:

  1. Выделите заголовок столбца с возрастом (например, ячейку B1 с названием "Возраст").
  2. Перейдите на вкладку Данные → нажмите кнопку Фильтр (или используйте горячие клавиши Ctrl+Shift+L).
  3. Нажмите на стрелку фильтра в заголовке столбца "Возраст".

В открывшемся меню выберите один из вариантов:

  • 🔢 Числовые фильтры → "Больше..." или "Меньше..." для задания порогового значения (например, "больше 18").
  • 📌 Фильтр по значению — если нужно отобрать конкретные возрасты (например, только 25, 30 и 45 лет).
  • 🎯 Текстовые фильтры → "Содержит..." — если возраст записан как текст (например, "35 лет").

Выделите заголовок столбца с возрастом|

Проверьте, что данные записаны как числа (не текст)|

Убедитесь, что нет пустых ячеек в столбце|

Примените фильтр через вкладку "Данные"-->

⚠️ Внимание: Если после применения фильтра данные не отображаются, проверьте формат ячеек. Частая ошибка — возраст записан как текст (выровнен по левому краю), а не как число (по правому краю). Исправьте формат через Главная → Формат → Формат ячеек → Числовой.

2. Фильтр по дате рождения (автоматический расчёт возраста)

Часто возраст в таблице отсутствует, но есть столбец с датой рождения. В этом случае сначала нужно рассчитать возраст, а затем применить фильтр. Для автоматического расчёта используйте функцию РАЗНДАТ (в английской версии — DATEDIF):

=РАЗНДАТ([@[Дата рождения]];СЕГОДНЯ();"Y")

Где:

  • [@[Дата рождения]] — ссылка на ячейку с датой рождения (в табличном формате). Для обычного диапазона используйте B2.
  • СЕГОДНЯ() — текущая дата.
  • "Y" — параметр для расчёта полных лет.

После добавления формулы протяните её на все строки таблицы. Теперь у вас появится столбец с актуальным возрастом, который можно фильтровать как описано в первом разделе.

Для более точного расчёта (с учётом месяцев) используйте формулу:

=РАЗНДАТ([@[Дата рождения]];СЕГОДНЯ();"Y") & " лет, " & РАЗНДАТ([@[Дата рождения]];СЕГОДНЯ();"YM") & " мес."

3. Расширенный фильтр для сложных условий

Если нужно отфильтровать данные по нескольким критериям одновременно (например, возраст от 25 до 40 лет и определённый город), используйте расширенный фильтр. Этот метод позволяет сохранять результаты на новом листе и работать с динамическими диапазонами.

Алгоритм действий:

  1. Скопируйте заголовки столбцов (например, "Возраст" и "Город") на свободное место листа (например, в ячейки E1:F1).
  2. Под заголовками укажите условия фильтрации:
    • В ячейке E2: >=25
    • В ячейке E3: <=40
    • В ячейке F2: =Москва (если нужен конкретный город).
  • Перейдите на вкладку ДанныеСортировка и фильтрДополнительно.
  • В окне расширенного фильтра:
    • Исходный диапазон — выделите всю таблицу с данными (включая заголовки).
    • Диапазон условий — укажите ячейки с критериями (E1:F2).
    • Поставьте галочку "Скопировать результат в другое место" и укажите ячейку для вывода (например, H1).
    • ⚠️ Внимание: При использовании расширенного фильтра убедитесь, что в диапазоне условий нет пустых строк между критериями. Например, если вы указываете возраст в двух строках (>=25 и <=40), они должны идти подряд, иначе Excel воспримет их как альтернативные условия ("ИЛИ" вместо "И").

      Тип условия Пример записи Результат
      Равенство =30 Только возраст 30 лет
      Диапазон >=18 и <=35 (в разных строках) Возраст от 18 до 35 включительно
      Не равно <>45 Все возрасты, кроме 45 лет
      Текст + число =Москва и >=25 Жители Москвы старше 25 лет

      4. Фильтрация по возрасту с помощью сводной таблицы

      Если вам нужно не только отфильтровать данные, но и проанализировать распределение по возрастным группам (например, посчитать количество клиентов в каждой категории), сводная таблица станет идеальным решением. Она позволяет группировать возрасты по диапазонам (18-25, 26-35 и т.д.) и строить наглядные отчёты.

      Как создать сводную таблицу для анализа возраста:

      1. Выделите исходную таблицу с данными (включая заголовки).
      2. Перейдите на вкладку ВставкаСводная таблица.
      3. В окне создания сводной таблицы выберите, куда поместить результат (на новый лист или в текущий).
      4. В панели полей сводной таблицы:
        • Перетащите поле "Возраст" в область Строки.
        • Перетащите поле с идентификаторами (например, "ID" или "ФИО") в область Значения (Excel автоматически посчитает количество записей).
    • Щёлкните правой кнопкой по любому возрасту в сводной таблице → Группировка.
    • Задайте начальный и конечный возраст, а также шаг группировки (например, 10 лет).

    Сводная таблица автоматически обновляется при изменении исходных данных — достаточно щёлкнуть по ней правой кнопкой и выбрать "Обновить". Это особенно удобно для регулярных отчётов, где возрастные группы могут меняться (например, при добавлении новых клиентов).

    Раз в неделю|

    Раз в месяц|

    Реже|

    Никогда не анализировал-->

    5. Динамический фильтр с использованием формул

    Для продвинутых пользователей, которым нужны гибкие и автоматизированные решения, подойдут фильтры на основе формул. Например, можно создать отдельную таблицу, которая будет автоматически обновляться при изменении критериев.

    Пример: фильтрация всех сотрудников, чей возраст попадает в диапазон, заданный в отдельных ячейках (D1 — минимальный возраст, D2 — максимальный). Формула для первого столбца отфильтрованной таблицы:

    =ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$100;ПОИСКПОЗ(ИСТИНА;(($B$2:$B$100>=$D$1)*($B$2:$B$100<=$D$2));0));"")

    Где:

    • $A$2:$A$100 — диапазон с ФИО (или другими данными для вывода).
    • $B$2:$B$100 — диапазон с возрастом.
    • $D$1 и $D$2 — ячейки с минимальным и максимальным возрастом для фильтра.

    Эту формулу нужно ввести как формулу массива (в старых версиях Excel — нажать Ctrl+Shift+Enter, в новых — просто Enter). Затем протяните её вправо на остальные столбцы.

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

    Формула использует функцию ИНДЕКС для извлечения данных и ПОИСКПОЗ для поиска первой строки, соответствующей условиям. Условие (($B$2:$B$100>=$D$1)*($B$2:$B$100<=$D$2)) возвращает массив из ИСТИНА/ЛОЖЬ, который преобразуется в 1 и 0. Функция ПОИСКПОЗ находит первую единицу и возвращает её позицию, а ИНДЕКС извлекает соответствующее значение.

    6. Фильтр по возрасту с учётом текущей даты (для дат рождения)

    Если в вашей таблице хранятся только даты рождения, а возраст нужно рассчитывать динамически (с учётом текущего года), комбинируйте функции РАЗНДАТ и СЕГОДНЯ с фильтрацией. Например, чтобы отобразить всех, кому сегодня исполняется день рождения:

    =ЕСЛИ(И(МЕСЯЦ([@[Дата рождения]])=МЕСЯЦ(СЕГОДНЯ()));ДЕНЬ([@[Дата рождения]])=ДЕНЬ(СЕГОДНЯ()));"🎉 День рождения!";"")

    Для фильтрации по возрастной группе (например, 18-25 лет) на основе даты рождения используйте вспомогательный столбец с формулой:

    =РАЗНДАТ([@[Дата рождения]];СЕГОДНЯ();"Y")

    А затем применяйте автофильтр к этому столбцу, как описано в первом разделе.

    7. Частые ошибки и как их избежать

    Даже опытные пользователи Excel иногда сталкиваются с проблемами при фильтрации по возрасту. Вот наиболее распространённые ошибки и способы их устранения:

    • 🚫 Возраст как текст: Если фильтр не работает, проверьте формат ячеек. Числа должны быть выровнены по правому краю, текст — по левому. Исправьте формат через Главная → Формат → Формат ячеек.
    • 📅 Некорректная дата рождения: Excel может воспринимать даты как текст (например, "01.01.1990" вместо даты). Используйте функцию ДАТАЗНАЧ для преобразования: =ДАТАЗНАЧ(A2).
    • 🔄 Не обновляется сводная таблица: После изменения исходных данных щёлкните по сводной таблице правой кнопкой и выберите Обновить.
    • 🔍 Расширенный фильтр не находит данные: Убедитесь, что в диапазоне условий нет пустых строк и что заголовки в исходной таблице и диапазоне условий совпадают.

    ⚠️ Внимание: При использовании формул для динамической фильтрации (раздел 5) избегайте ссылок на целые столбцы (например, $B:$B). Это может значительно замедлить работу Excel, особенно в больших таблицах. Ограничивайте диапазоны конкретными адресами (например, $B$2:$B$1000).

    FAQ: Ответы на частые вопросы

    Как отфильтровать возраст по неравенству (например, все кроме 18 лет)?

    Используйте расширенный фильтр с условием <>18 или автофильтр: выберите Числовые фильтры → Не равно... и введите 18.

    Можно ли фильтровать возраст по нескольким диапазонам одновременно (например, 18-25 и 40-50)?

    Да, для этого подходит расширенный фильтр. В диапазоне условий укажите:

    >=18
      <=25
    

    >=40

    <=50

    Excel воспримет это как условие "ИЛИ" (любой из диапазонов).

    Как автоматически обновлять возраст при изменении текущей даты?

    Используйте функцию РАЗНДАТ с СЕГОДНЯ(), как описано в разделе 2. Возраст будет пересчитываться при каждом открытии файла или по команде F9 (пересчёт формул).

    Почему фильтр не показывает некоторые строки, хотя они подходят под условие?

    Вероятные причины:

    • В данных есть скрытые символы (пробелы, неразрывные пробелы). Используйте СЖПРОБЕЛЫ для очистки.
    • Формат ячеек не соответствует (текст вместо числа). Преобразуйте данные через Значение → Текст по столбцам.
    • В диапазоне фильтрации есть пустые строки или столбцы, которые Excel воспринимает как разрыв данных.

    Как сохранить отфильтрованные данные на новый лист?

    Используйте расширенный фильтр (раздел 3) с опцией "Скопировать результат в другое место". Укажите диапазон для вывода на другом листе.