Как проверить четность числа в Excel: формулы, условное форматирование и VBA

Чтобы определить четность числа в Microsoft Excel или Google Таблицах, достаточно одной функции ЧЕТН() или ISEVEN() — но это только базовый вариант. На практике пользователи сталкиваются с задачами посложнее: проверка диапазона ячеек, автоматическое выделение четных/нечетных значений цветом или фильтрация данных по признаку четности. Ошибки здесь возникают из-за неправильного синтаксиса (например, =ЧЕТН(A1:A10) вернет #ЗНАЧ!), игнорирования отрицательных чисел или дробных значений, которые Excel округляет перед проверкой.

В этой статье разберем 5 рабочих методов — от простейших формул до VBA-скриптов для массовой обработки. Особое внимание уделим типичным ошибкам: почему ОСТАТ() может давать сбой с отрицательными числами, как избежать ложных срабатываний при работе с датами (которые Excel хранит как числа), и почему условное форматирование иногда "не видит" четные ячейки. Все примеры протестированы в Excel 2019–2026 и Google Sheets, с учетом особенностей русскоязычной и англоязычной версий.

1. Базовые функции для проверки четности: ЧЕТН() и НЕЧЕТ()

Самый прямой способ — использовать встроенные функции ЧЕТН(число) (ISEVEN в английской версии) и НЕЧЕТ(число) (ISODD). Они возвращают ИСТИНА или ЛОЖЬ в зависимости от четности аргумента. Синтаксис простой:

=ЧЕТН(A1)  

=НЕЧЕТ(B2)

Важные нюансы:

  • 🔹 Функции автоматически округляют дробные числа до целых (например, ЧЕТН(3.2) вернет ЛОЖЬ, так как 3.2 округляется до 3).
  • 🔹 С отрицательными числами работают корректно: ЧЕТН(-4)ИСТИНА.
  • 🔹 Если ячейка содержит текст или пуста, функция вернет ошибку #ЗНАЧ!.
⚠️ Внимание: Функции ЧЕТН()/НЕЧЕТ() не работают с диапазонами! Аргумент должен быть одиночным числом или ссылкой на одну ячейку. Для проверки массива используйте ОСТАТ() (см. следующий раздел).

Пример применения для фильтрации данных:

=ФИЛЬТР(A2:A100; ЧЕТН(A2:A100))  

2. Универсальный метод: функция ОСТАТ() (MOD)

Функция ОСТАТ(число; делитель) (MOD в английской версии) возвращает остаток от деления и подходит для любых чисел, включая отрицательные и дробные. Чтобы проверить четность, используйте делитель 2:

=ОСТАТ(A1; 2) = 0  

=ОСТАТ(B1; 2) <> 0

Преимущества метода:

  • 🔹 Работает с диапазонами: =ОСТАТ(A1:A10; 2) = 0 вернет массив логических значений.
  • 🔹 Корректно обрабатывает отрицательные числа (в отличие от ручного деления).
  • 🔹 Можно комбинировать с другими функциями, например: =СУММЕСЛИ(Б1:Б10; "<>0"; ОСТАТ(А1:А10; 2) = 0).
ФормулаРезультат для 5Результат для -4Результат для 3.8
=ОСТАТ(A1; 2) = 0ЛОЖЬИСТИНАЛОЖЬ (3.8 → 4)
=ОСТАТ(A1; 2) <> 0ИСТИНАЛОЖЬИСТИНА (3.8 → 4 → остаток 0)
=ЕСЛИ(ОСТАТ(A1; 2); "Нечетное"; "Четное")"Нечетное""Четное""Четное"
⚠️ Внимание: При работе с дробными числами ОСТАТ() сначала округляет их до целых. Например, ОСТАТ(3.2; 2) вернет 1 (так как 3.2 → 3, а 3 % 2 = 1). Чтобы избежать этого, используйте =ОКРУГЛВНИЗ(A1; 0) перед проверкой.
Как проверить четность без округления дробных чисел

Используйте комбинацию функций:

=ЕСЛИ(ОСТАТ(ЦЕЛОЕ(A1); 2) = 0; "Четное"; "Нечетное")

Функция ЦЕЛОЕ() отсекает дробную часть без округления.

3. Условное форматирование для визуальной проверки

Если нужно выделить четные или нечетные числа цветом, используйте условное форматирование. Алгоритм:

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

    для четных чисел или

    =ОСТАТ(A1; 2) <> 0

    для нечетных.

  5. Задайте цвет заполнения или шрифта и нажмите ОК.

Особенности:

  • 🔹 Формула применяется к первой ячейке диапазона (в примере — A1), но Excel автоматически корректирует ссылки для остальных ячеек.
  • 🔹 Для диапазона B2:D20 используйте =ОСТАТ(B2; 2) = 0.
  • 🔹 Чтобы выделить только нечетные отрицательные числа, combine:
    =И(ОСТАТ(A1; 2) <> 0; A1 < 0)

Убедитесь, что в диапазоне нет текстовых значений|Проверьте, что формула ссылается на первую ячейку диапазона (например, A1 для A1:A100)|Отключите ранее созданные правила, которые могут конфликтовать|Протестируйте правило на небольшом диапазоне перед применением ко всему листу-->

4. Проверка четности с помощью функции ЕСЛИ()

Функция ЕСЛИ() позволяет не только определить четность, но и вернуть произвольный текст или значение. Базовый синтаксис:

=ЕСЛИ(ЧЕТН(A1); "Четное"; "Нечетное")

=ЕСЛИ(ОСТАТ(A1; 2) = 0; "Да"; "Нет")

Продвинутые примеры:

  • 🔹 Сумма четных чисел в диапазоне:
    =СУММЕСЛИ(A1:A10; "<>0"; ЕСЛИ(ОСТАТ(A1:A10; 2) = 0; A1:A10))
    Внимание: в старых версиях Excel это формула массива — завершайте ввод Ctrl+Shift+Enter.
  • 🔹 Подсчет нечетных ячеек:
    =СЧЁТЕСЛИ(А1:А100; "<>0") - СЧЁТЕСЛИ(А1:А100; "="&ЧЕТН(А1:А100))
  • 🔹 Вывод остатка с пояснением:
    =ЕСЛИ(ОСТАТ(A1; 2) = 0; "Четное ("&A1&")"; "Нечетное ("&A1&"), остаток: "&ОСТАТ(A1; 2))

Для работы с датами (которые Excel хранит как числа) используйте:

=ЕСЛИ(ОСТАТ(ДАТАЗНАЧ("01.01.1900"); 2) = ОСТАТ(A1; 2); "Четный день"; "Нечетный день")
⚠️ Внимание: Даты в Excel — это числа, где 1 соответствует 1 января 1900 года. Формула ЧЕТН(ДАТА()) вернет ошибку, так как ДАТА() возвращает дробное число (время).

5. Проверка четности в Google Таблицах: отличия от Excel

В Google Sheets синтаксис функций идентичен, но есть нюансы:

  • 🔹 Функции называются ISEVEN() и ISODD() (русские названия ЧЕТН()/НЕЧЕТ() тоже работают).
  • 🔹 Формулы массива не требуют Ctrl+Shift+Enter — достаточно обычного Enter.
  • 🔹 Условное форматирование настраивается через меню ФорматУсловное форматирование.

Пример для Google Sheets: Чтобы выделить четные числа в столбце A и одновременно подсчитать их количество:

=ARRAYFORMULA(IF(ISEVEN(A1:A); A1:A; ""))  

=COUNTIF(ARRAYFORMULA(ISEVEN(A1:A)); TRUE)

Критичное отличие: В Google Таблицах функция ОСТАТ() (MOD) ведет себя иначе с отрицательными числами. Например, ОСТАТ(-5; 2) в Excel вернет 1, а в Google Sheets — -1. Для универсального решения используйте:

=МАКС(ОСТАТ(ABS(A1); 2); 0) = 0

Excel|Google Таблицы|LibreOffice Calc|Другое-->

6. Автоматизация: макросы VBA для проверки четности

Если нужно обработать тысячи строк или интегрировать проверку четности в сложный скрипт, используйте VBA. Пример макроса, который добавляет столбец с пометкой "Четное"/"Нечетное" рядом с данными:

Sub CheckEvenOdd()

Dim rng As Range

Dim cell As Range

Dim lastRow As Long

' Определяем последний заполненный ряд в столбце A

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

Set rng = Range("A1:A" & lastRow)

' Добавляем столбец B с результатом

Range("B1").Value = "Четность"

For Each cell In rng

If IsNumeric(cell.Value) Then

If cell.Value Mod 2 = 0 Then

cell.Offset(0, 1).Value = "Четное"

Else

cell.Offset(0, 1).Value = "Нечетное"

End If

Else

cell.Offset(0, 1).Value = "Н/Д"

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (InsertModule).
  3. Запустите макрос через F5 или кнопку Run.

Модификации макроса:

  • 🔹 Чтобы выделить цветом четные ячейки, добавьте строку:
    If cell.Value Mod 2 = 0 Then cell.Interior.Color = RGB(200, 230, 200)
  • 🔹 Для обработки нескольких столбцов замените Range("A1:A" & lastRow) на Range("A1:C" & lastRow).
⚠️ Внимание: Макросы работают только в Excel для Windows/Mac и отключены по умолчанию в файлах из ненадежных источников. Чтобы разрешить выполнение, перейдите в ФайлПараметрыЦентр управления безопасностьюПараметры центра...Включить все макросы (не рекомендуется для чужих файлов!).

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

Даже в простой задаче проверки четности пользователи допускают ошибки, которые ведут к некорректным результатам. Рассмотрим топ-5 проблем:

ОшибкаПричинаРешение
Формула =ЧЕТН(A1:A10) возвращает #ЗНАЧ! Функция не работает с диапазонами Используйте =ЧЕТН(A1) и протяните вниз
Условное форматирование не срабатывает Неверная ссылка в формуле (например, =ОСТАТ(B1; 2) для диапазона A1:A10) Убедитесь, что формула ссылается на первую ячейку диапазона (A1)
ОСТАТ() дает неверный результат для 3.6 Автоматическое округление дробных чисел Используйте =ОСТАТ(ЦЕЛОЕ(A1); 2)
Макрос не обрабатывает отрицательные числа Оператор Mod в VBA может давать сбой с отрицательными значениями Замените Mod на Abs(A1) Mod 2
Формула =ЧЕТН(ДАТА()) возвращает ошибку Функция ДАТА() возвращает дробное число (дата + время) Используйте =ЧЕТН(ЦЕЛОЕ(ДАТА()))

Еще одна распространенная проблема — пустые ячейки. Если в диапазоне есть пустые значения, функции вроде СУММЕСЛИ или СЧЁТЕСЛИ могут их проигнорировать. Чтобы учесть все ячейки, используйте:

=СУММПРОИЗВ(--(ОСТАТ(A1:A10; 2) = 0); A1:A10)

8. Продвинутые задачи: фильтрация, сортировка и динамические массивы

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

1. Фильтрация четных/нечетных значений

Чтобы отобразить только четные числа из диапазона:

  • 🔹 В Excel 365/2021:
    =ФИЛЬТР(A1:A100; ОСТАТ(A1:A10; 2) = 0; "Нет данных")
  • 🔹 В старых версиях: используйте вспомогательный столбец с формулой =ОСТАТ(A1; 2) и стандартный фильтр.

2. Сортировка по четности

Чтобы отсортировать данные так, чтобы четные числа шли первыми:

  1. Добавьте вспомогательный столбец с формулой:
    =ЕСЛИ(ОСТАТ(A1; 2) = 0; 0; 1)
  2. Отсортируйте таблицу по этому столбцу (четные получат приоритет).

3. Динамические массивы для четных чисел

В Excel 365 можно создать динамический массив, который автоматически обновляется при изменении исходных данных:

=УНИК(ФИЛЬТР(A1:A100; ОСТАТ(A1:A10; 2) = 0; ""); ; ИСТИНА)

Эта формула вернет уникальные четные числа из диапазона A1:A100.

Как создать выпадающий список только с четными числами

1. Создайте именованный диапазон с формулой:

=ФИЛЬТР(ПОСЛЕДОВ(100); ОСТАТ(ПОСЛЕДОВ(100); 2) = 0)

2. В меню ДанныеПроверка данных выберите тип Список и укажите источник как =имя_диапазона

FAQ: Частые вопросы по проверке четности в Excel

Можно ли проверить четность для времени (например, 12:34)?

В Excel время хранится как дробная часть числа (где 1 = 24 часа). Чтобы проверить четность минут или секунд, используйте:

=ЕСЛИ(ОСТАТ(МИНУТЫ(A1); 2) = 0; "Четные минуты"; "Нечетные минуты")

=ЕСЛИ(ОСТАТ(СЕКУНДЫ(A1); 2) = 0; "Четные секунды"; "Нечетные секунды")

Почему формула =ЧЕТН(5.5) возвращает ЛОЖЬ, хотя 5.5 нечетное?

Функция ЧЕТН() сначала округляет число до целого: 5.56 (четное). Чтобы избежать округления, используйте:

=ЕСЛИ(ОСТАТ(ЦЕЛОЕ(5.5); 2) = 0; "Четное"; "Нечетное")

Эта формула вернет "Нечетное", так как ЦЕЛОЕ(5.5) = 5.

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

Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ() с кодом 103 (включает скрытые строки):

=СУММПРОИЗВ(--(ОСТАТ(A1:A100; 2) = 0); --(ПОДИТОГ(A1:A100; 103) <> 0))

Или в Excel 365:

=СЧЁТФИЛЬТР(ФИЛЬТР(A1:A100; (A1:A100 <> "")); ОСТАТ(ФИЛЬТР(A1:A100; (A1:A100 <> "")); 2) = 0)
Можно ли проверить четность в Power Query?

Да. В редакторе Power Query добавьте пользовательский столбец с формулой:

= if Number.Mod([YourColumn], 2) = 0 then "Четное" else "Нечетное"

Где [YourColumn] — имя вашего столбца с числами.

Почему условное форматирование не работает с формулой =ОСТАТ(A1;2)=0 для дат?

Excel хранит даты как числа, где 1 = 1 января 1900 года. Формула =ОСТАТ(A1; 2) = 0 проверяет четность номера дня относительно 1.01.1900. Чтобы проверить четность дня месяца, используйте:

=ОСТАТ(ДЕНЬ(A1); 2) = 0