Чтобы определить четность числа в 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. Условное форматирование для визуальной проверки
Если нужно выделить четные или нечетные числа цветом, используйте условное форматирование. Алгоритм:
- Выделите диапазон ячеек (например,
A1:A100). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите тип правила:
Использовать формулу для определения форматируемых ячеек. - Введите формулу:
=ОСТАТ(A1; 2) = 0для четных чисел или
=ОСТАТ(A1; 2) <> 0для нечетных.
- Задайте цвет заполнения или шрифта и нажмите
ОК.
Особенности:
- 🔹 Формула применяется к первой ячейке диапазона (в примере —
A1), но Excel автоматически корректирует ссылки для остальных ячеек. - 🔹 Для диапазона
B2:D20используйте=ОСТАТ(B2; 2) = 0. - 🔹 Чтобы выделить только нечетные отрицательные числа, combine:
=И(ОСТАТ(A1; 2) <> 0; A1 < 0)
Убедитесь, что в диапазоне нет текстовых значений|Проверьте, что формула ссылается на первую ячейку диапазона (например, A1 для A1:A100)|Отключите ранее созданные правила, которые могут конфликтовать|Протестируйте правило на небольшом диапазоне перед применением ко всему листу-->
4. Проверка четности с помощью функции ЕСЛИ()
Функция ЕСЛИ() позволяет не только определить четность, но и вернуть произвольный текст или значение. Базовый синтаксис:
=ЕСЛИ(ЧЕТН(A1); "Четное"; "Нечетное")
=ЕСЛИ(ОСТАТ(A1; 2) = 0; "Да"; "Нет")
Продвинутые примеры:
- 🔹 Сумма четных чисел в диапазоне:
Внимание: в старых версиях Excel это формула массива — завершайте ввод=СУММЕСЛИ(A1:A10; "<>0"; ЕСЛИ(ОСТАТ(A1:A10; 2) = 0; A1:A10))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
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в модуль (
Insert→Module). - Запустите макрос через
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. Сортировка по четности
Чтобы отсортировать данные так, чтобы четные числа шли первыми:
- Добавьте вспомогательный столбец с формулой:
=ЕСЛИ(ОСТАТ(A1; 2) = 0; 0; 1) - Отсортируйте таблицу по этому столбцу (четные получат приоритет).
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.5 → 6 (четное). Чтобы избежать округления, используйте:
=ЕСЛИ(ОСТАТ(ЦЕЛОЕ(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