Как разделить четные и нечетные числа в Excel: все способы от простого к сложному

Почему стандартная сортировка не подходит для четных/нечетных чисел

Вы когда-нибудь пытались отсортировать в Microsoft Excel числа так, чтобы сначала шли все четные, а потом нечетные — или наоборот? Если просто нажать Сортировка от А до Я, программа расположит цифры по возрастанию, полностью игнорируя их четность. Это логично, но не всегда удобно: например, при анализе чеков (где четные номера — оплата наличными, нечетные — безналичный расчет) или обработке данных экспериментов (где четные пробы — контрольная группа).

Проблема в том, что Excel воспринимает числа только как числовые значения, а не как наборы с дополнительными атрибутами (вроде четности). Чтобы обойти это ограничение, придется использовать вспомогательные столбцы, формулы или даже макросы. В этой статье мы разберем 5 рабочих методов, включая скрытые возможности условного форматирования и мощь функции МОД (она же MOD в английской версии).

Важно: все примеры ниже работают в Excel 2010–2023 и Office 365. Если вы используете Google Таблицы, часть функций может требовать адаптации (например, вместо МОД там используется MOD без локализации).

Метод 1: Сортировка через вспомогательный столбец с формулой МОД

Это самый универсальный и понятный способ, который подойдет даже новичкам. Суть проста: мы добавляем дополнительный столбец, где формула определяет четность числа, а затем сортируем данные по этому столбцу.

Шаги:

  1. Добавьте вспомогательный столбец справа от ваших данных. Например, если числа в столбце A, то формулу введите в B1.
  2. Введите формулу:
    =МОД(A1;2)

    Она вернет 0 для четных чисел и 1 для нечетных.

  3. Скопируйте формулу на все строки (протяните маркер автозаполнения вниз).
  4. Выделите всю таблицу вместе с вспомогательным столбцом и нажмите Данные → Сортировка.
  5. В окне сортировки выберите столбец со значениями 0/1 и отсортируйте по возрастанию (сначала четные) или убыванию (сначала нечетные).

После сортировки вспомогательный столбец можно скрыть или удалить — он больше не нужен.

Добавить вспомогательный столбец|Ввести формулу =МОД(A1;2)|Скопировать формулу на все строки|Выделить таблицу целиком|Запустить сортировку по вспомогательному столбцу-->

⚠️ Внимание: Если ваши данные содержат пустые ячейки, формула МОД вернет ошибку #ДЕЛ/0!. Чтобы избежать этого, модифицируйте формулу:
=ЕСЛИОШИБКА(МОД(A1;2);"")

Метод 2: Фильтрация четных и нечетных чисел без сортировки

Если вам не нужно физически перемещать строки, а достаточно просто показать только четные или нечетные значения, используйте фильтр. Этот способ быстрее и не требует изменений в исходных данных.

Инструкция:

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

Чтобы вернуть все данные, снова откройте фильтр и выберите Удалить фильтр.

Действие Формула/условие Результат
Показать четные =МОД(A1;2)=0 Отобразятся только строки с четными числами
Показать нечетные =МОД(A1;2)=1 Отобразятся только строки с нечетными числами
Показать пустые ячейки =ЕПУСТО(A1) Отобразятся строки без значений

Фильтрация|Сортировка через вспомогательный столбец|Условное форматирование|Макросы|Не разделяю-->

Метод 3: Условное форматирование для визуального разделения

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

Как настроить:

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

    Для нечетных:

    =МОД(A1;2)=1
  5. Нажмите Формат и выберите цвет заливки или шрифта (например, зеленый для четных, оранжевый для нечетных).

Теперь все четные и нечетные числа будут автоматически подсвечиваться выбранными цветами. Преимущество этого метода — динамичность: если вы измените число в ячейке, форматирование обновится мгновенно.

Как применить условное форматирование ко всей таблице автоматически?

Чтобы правило условного форматирования автоматически применялось к новым строкам, используйте динамический именованный диапазон. Создайте его через Формулы → Диспетчер имен и укажите формулу вида =СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ($A:$A);1). Затем в правиле условного форматирования ссылайтесь на этот именованный диапазон вместо фиксированного адреса.

Метод 4: Сортировка с помощью функции ЧЁТН/НЕЧЁТ

В Excel есть две малоизвестные функции — ЧЁТН (EVEN) и НЕЧЁТ (ODD), которые округляют числа до ближайшего четного или нечетного значения. Однако их можно адаптировать и для нашей задачи.

Алгоритм:

  • 📌 Добавьте вспомогательный столбец рядом с вашими данными.
  • 🔢 Введите формулу:
    =ЕСЛИ(ЧЁТН(A1)=A1;0;1)

    Эта формула вернет 0 для четных чисел и 1 для нечетных, но без ошибок на пустых ячейках.

  • 📊 Отсортируйте таблицу по вспомогательному столбцу (как в Методе 1).

Отличие от МОД: функция ЧЁТН работает даже с отрицательными числами и числами с плавающей запятой (округляя их до целых). Например, ЧЁТН(3.7) вернет 4, а ЧЁТН(-2.3)-2.

⚠️ Внимание: Функции ЧЁТН и НЕЧЁТ меняют исходные значения при округлении. Если вам важна точность (например, в финансовых расчетах), используйте МОД.

Метод 5: Автоматизация через макросы (для продвинутых)

Если вам часто приходится сортировать четные и нечетные числа, имеет смысл автоматизировать процесс с помощью макроса VBA. Этот метод требует минимальных знаний программирования, но экономит время при регулярном использовании.

Как создать макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В меню выберите Insert → Module.
  3. Вставьте следующий код:
    Sub SortEvenOdd()
    

    Dim rng As Range

    Dim keyColumn As Integer

    Dim lastRow As Long

    ' Задаем диапазон (измените "A1" на вашу первую ячейку)

    Set rng = Range("A1").CurrentRegion

    keyColumn = rng.Columns.Count + 1 ' Вспомогательный столбец

    ' Добавляем вспомогательный столбец с формулой

    rng.Cells(1, keyColumn).Value = "Четность"

    lastRow = rng.Rows.Count

    rng.Cells(2, keyColumn).Formula = "=MOD(RC[-1],2)"

    rng.Cells(2, keyColumn).AutoFill Destination:=rng.Cells(2, keyColumn).Resize(lastRow - 1)

    ' Сортируем по вспомогательному столбцу

    rng.Sort Key1:=rng.Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes

    ' Удаляем вспомогательный столбец

    rng.Columns(keyColumn).Delete

    End Sub

  4. Закройте редактор VBA и запустите макрос через Вид → Макросы → SortEvenOdd → Выполнить.

Этот макрос автоматически:

  • 🔄 Создает вспомогательный столбец.
  • 📝 Заполняет его формулами для определения четности.
  • 🔁 Сортирует данные.
  • 🗑️ Удаляет вспомогательный столбец.

Сравнение методов: какой выбрать?

Каждый из описанных способов имеет свои плюсы и минусы. Вот краткое сравнение, чтобы вам было проще выбрать:

Метод Сложность Скорость Подходит для больших данных Сохраняет исходные данные
Вспомогательный столбец + МОД ⭐⭐ Средняя Да Да (если не удалять столбец)
Фильтрация Быстрая Да Да
Условное форматирование ⭐⭐ Мгновенно Да Да
Функции ЧЁТН/НЕЧЁТ ⭐⭐ Средняя Нет (округляет значения) Да
Макросы ⭐⭐⭐ Очень быстрая Да Да

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

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

Можно ли отсортировать четные и нечетные числа без вспомогательного столбца?

Да, но только с помощью макросов VBA или Power Query (в новых версиях Excel). Стандартными средствами сортировки без вспомогательных данных обойтись не получится, так как Excel не умеет "понимать" четность как критерий сортировки.

Почему формула МОД возвращает ошибку #ДЕЛ/0! на пустых ячейках?

Функция МОД пытается разделить пустую ячейку на 2, что приводит к ошибке деления на ноль. Чтобы избежать этого, используйте конструкцию:

=ЕСЛИ(A1="";"";МОД(A1;2))

или

=ЕСЛИОШИБКА(МОД(A1;2);"")

Как отсортировать четные числа по возрастанию, а нечетные — по убыванию?

Для этого потребуется двухуровневая сортировка:

  1. Сначала отсортируйте все данные по убыванию (нечетные числа встанут в начало).
  2. Добавьте вспомогательный столбец с формулой =МОД(A1;2).
  3. Отсортируйте сначала по вспомогательному столбцу (по возрастанию), а затем по исходному столбцу с числами — но для четных выберите сортировку по возрастанию, а для нечетных — по убыванию (это можно сделать в ручном режиме, разбив данные на два диапазона).
Работают ли эти методы в Google Таблицах?

Да, но с поправками:

  • Функция МОД называется MOD (без локализации).
  • Макросы пишутся на Google Apps Script, а не на VBA.
  • Условное форматирование настраивается аналогично, но интерфейс немного отличается.

Фильтрация и вспомогательные столбцы работают без изменений.

Можно ли применить эти методы к датам (например, сортировать четные/нечетные дни месяца)?

Да! В Excel даты хранятся как числа (количество дней с 1 января 1900 года). Чтобы отсортировать, например, четные и нечетные дни месяца:

  1. Используйте формулу:
    =МОД(ДЕНЬ(A1);2)

    где A1 — ячейка с датой.

  2. Отсортируйте данные по этому столбцу, как описано в Методе 1.