Фильтрация четных чисел в Excel: от базовых методов до продвинутых приёмов

Почему фильтрация чётных чисел в Excel требует особого подхода

На первый взгляд, задача отфильтровать чётные числа в Microsoft Excel кажется тривиальной — но только до тех пор, пока вы не столкнётесь с нюансами. В отличие от текстовой фильтрации, где достаточно указать ключевое слово, работа с числовыми данными требует понимания математической логики и особенностей инструментов программы. Например, автофильтр не имеет встроенной опции "чётные/нечётные", а формулы типа =МОД() могут вести себя неожиданно при работе с отрицательными числами или дробями.

Более того, выбор метода зависит от цели: нужно ли просто скрыть строки, выделить их цветом или создать динамический отчёт, который будет автоматически обновляться при изменении данных. В этой статье мы разберём 5 рабочих способов фильтрации чётных чисел, включая малоизвестные приёмы для Excel 365 и Excel 2019, а также типичные ошибки, которые допускают даже опытные пользователи.

Способ 1: Автофильтр с пользовательским условием

Самый быстрый метод для разовых задач — использование встроенного автофильтра с настройкой пользовательского условия. Он не требует знания формул и работает во всех версиях Excel, начиная с 2007 года.

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

  • 📌 Выделите диапазон данных (включая заголовки столбцов).
  • 🔍 Перейдите на вкладку ДанныеФильтр (или нажмите Ctrl+Shift+L).
  • 📊 Кликните по стрелке фильтра в столбце с числами и выберите Числовые фильтрыНастраиваемый фильтр.
  • 🔢 В поле условия укажите: "без остатка от деления на 2" (или вручную введите формулу =МОД(A1;2)=0, где A1 — первая ячейка столбца).

Важно: если ваши данные содержат отрицательные числа, этот метод сработает корректно, но для дробных значений (например, 3.5) фильтр их проигнорирует, так как МОД(3.5;2) вернёт 1.5, а не 0.

☑️ Проверка перед фильтрацией

Выполнено: 0 / 4
⚠️ Внимание: Если после применения фильтра вы видите пустые строки, проверьте, не содержат ли ячейки текстовые значения, маскирующиеся под числа (например, "10.00 р." вместо просто 10). Используйте функцию =ЧИСЛОТЕКСТ() для диагностики.

Способ 2: Формулы для динамической фильтрации

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

  1. Функция ФИЛЬТР (Excel 365 и 2021):
    =ФИЛЬТР(A2:A100; МОД(A2:A100; 2) = 0; "Нет чётных чисел")

    Эта формула вернёт динамический массив только с чётными значениями. Если таких нет — отобразит сообщение "Нет чётных чисел".

  2. Классический ЕСЛИОШИБКА + ИНДЕКС (для старых версий):
    =ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$100; НАИМЕНЬШИЙ(ЕСЛИ(МОД($A$2:$A$100; 2)=0; СТРОКА($A$2:$A$100)-1); СТРОКА(A1))); "")

    Введите эту формулу как массивную (нажмите Ctrl+Shift+Enter в Excel 2019 и ранее).

Преимущество формульного подхода — возможность комбинировать условия. Например, отфильтровать чётные числа больше 50:

=ФИЛЬТР(A2:A100; (МОД(A2:A100; 2) = 0) * (A2:A100 > 50); "")
ФормулаПоддерживаемые версииОсобенности
=ФИЛЬТР()Excel 365, 2021Динамический массив, не требует "горячих клавиш"
=ИНДЕКС() + НАИМЕНЬШИЙ()Excel 2010–2019Требует ввод как массива (Ctrl+Shift+Enter)
=ПРОСМОТР()Все версииМедленнее, но проще для понимания
📊 Какую версию Excel вы используете?
Excel 365 (подписка)
Excel 2019
Excel 2016
Excel 2013 или старше

Способ 3: Условное форматирование для визуальной фильтрации

Если задача — не скрыть, а выделить чётные числа (например, для быстрого визуального анализа), используйте условное форматирование:

  1. Выделите диапазон чисел.
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите тип правила: Использовать формулу для определения форматируемых ячеек.
  4. Введите формулу: =МОД(A1;2)=0 (замените A1 на первую ячейку диапазона).
  5. Задайте формат (например, зелёный фон или жирный шрифт).

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

⚠️ Внимание: Условное форматирование не обновляется при изменении данных в ячейках, если отключен автоматический пересчёт. Проверьте настройки в ФормулыПараметры вычисленийАвтоматически.

Способ 4: Power Query для сложных наборов данных

Если вы работаете с большими объёмами данных (тысячи строк) или нуждаетесь в многоуровневой фильтрации, Power Query станет оптимальным решением. Этот инструмент встроен в Excel 2016 и новее (в 2013 году доступен как надстройка Power BI).

Пошаговая инструкция:

  1. Выделите исходную таблицу и нажмите ДанныеИз таблицы/диапазонаPower Query).
  2. В открывшемся редакторе выберите столбец с числами.
  3. Нажмите ГлавнаяФильтрЧисловые фильтрыНастраиваемый фильтр.
  4. Укажите условие: "без остатка от деления на" → введите 2.
  5. Нажмите ОКЗакрыть и загрузить.

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

Как обновить данные в Power Query?

Чтобы перезагрузить отфильтрованные данные после изменений в исходной таблице, кликните правой кнопкой по результату Power Query и выберите "Обновить".

Способ 5: VBA-макрос для автоматизации

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

Пример кода для фильтрации чётных чисел в выделенном диапазоне:

Sub FilterEvenNumbers()

Dim rng As Range

Dim cell As Range

Dim visibleRows As Long

' Проверка, выделен ли диапазон

On Error Resume Next

Set rng = Selection

On Error GoTo 0

If rng Is Nothing Then

MsgBox "Выделите диапазон с числами!", vbExclamation

Exit Sub

End If

' Применение фильтра

rng.AutoFilter Field:=1, Criteria1:="=even", Operator:=xlFilterValues

If rng.Rows.Count > 1 Then

visibleRows = rng.SpecialCells(xlCellTypeVisible).Rows.Count - 1

MsgBox "Найдено чётных чисел: " & visibleRows, vbInformation

Else

MsgBox "Чётные числа не найдены.", vbInformation

End If

End Sub

Чтобы использовать этот макрос:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (InsertModule).
  3. Вернитесь в Excel, выделите диапазон и запустите макрос через Alt+F8.
⚠️ Внимание: Макрос FilterEvenNumbers работает только с целыми числами. Для дробных значений замените строку Criteria1:="=even" на Criteria1:="=0", Operator:=xlFilterCustom, Criteria2:="=МОД(?,2)=0", где ? — адрес первой ячейки столбца.

Типичные ошибки и как их избежать

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

  • 🔴 Игнорирование пустых ячеек: Функция МОД() вернёт ошибку #ДЕЛ/0!, если ячейка пустая. Решение — добавить проверку =ЕСЛИ(A1="";"";МОД(A1;2)=0).
  • 🔴 Работа с текстом: Если числа хранятся как текст (например, после импорта из CSV), преобразуйте их в числовой формат с помощью =ЗНАЧЕН().
  • 🔴 Отрицательные числа: МОД(-4;2) вернёт 0, но МОД(-3;2) — 1. Для универсальной проверки используйте =АБС(МОД(A1;2))=0.
  • 🔴 Дробные значения: МОД(3.5;2) = 1.5 ≠ 0. Округлите числа до целых с помощью =ОКРУГЛ() перед проверкой.

Проверьте свой диапазон на наличие этих проблем с помощью экспресс-аудита:

=ЕСЛИ(ИЛИ(НЕ(ЧИСЛО(A1)); A1=""; МОД(A1;2)<>0); "Проблема"; "ОК")

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

Можно ли отфильтровать чётные числа в Google Таблицах?

Да, в Google Sheets используйте тот же подход, что и в Excel:

  1. Примените фильтр через меню ДанныеСоздать фильтр.
  2. В настройках фильтра выберите Пользовательский формульный фильтр и введите =МОД(A1;2)=0.

Для динамической фильтрации используйте функцию =FILTER() (аналог ФИЛЬТР в Excel 365).

Почему формула =ФИЛЬТР() возвращает ошибку #ИМЯ??

Ошибка #ИМЯ? означает, что ваша версия Excel не поддерживает динамические массивы. Функция ФИЛЬТР доступна только в Excel 365 и Excel 2021. Для старых версий используйте альтернативу:

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$100; НАИМЕНЬШИЙ(ЕСЛИ(МОД($A$2:$A$100;2)=0; СТРОКА($A$2:$A$100)-1); СТРОКА(A1))); "")

Не забудьте ввести её как массивую (Ctrl+Shift+Enter).

Как отфильтровать чётные числа в сводной таблице?

Сводные таблицы не поддерживают прямую фильтрацию по чётности, но есть обходной путь:

  1. Добавьте в исходные данные вычисляемый столбец с формулой =МОД([@Число];2) (где Число — имя столбца).
  2. Обновите сводную таблицу и добавьте новый столбец в область Фильтры.
  3. Отфильтруйте по значению 0.
Можно ли сохранить отфильтрованные данные в новый файл?

Да, есть три способа:

  • 📄 Копирование видимых ячеек: Примените фильтр, выделите видимые строки (Alt+;), скопируйте (Ctrl+C) и вставьте в новый файл.
  • 📊 Power Query: Загрузите отфильтрованные данные в новую таблицу и экспортируйте её через ФайлЭкспорт.
  • 🤖 VBA: Модифицируйте макрос из Способа 5, добавив код для создания нового файла:
Workbooks.Add

ActiveSheet.Paste

ActiveWorkbook.SaveAs "Чётные_числа.xlsx"