Как выделить целые числа в Excel: от простых фильтров до сложных формул

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

На первый взгляд, задача выделить целые числа в таблице кажется тривиальной — достаточно отфильтровать данные по формату. Однако Excel воспринимает числа с плавающей запятой, даты и даже текстовые строки с цифрами как потенциально "целочисленные" значения. Например, число 5.00 технически не является целым с точки зрения математики, но в таблице может отображаться как 5 из-за формата ячейки. Эта двусмысленность приводит к ошибкам при автоматической обработке данных.

Дополнительную сложность добавляют:

  • 🔢 Скрытые символы: пробелы перед числом (" 42") или неразрывные пробелы, которые Excel не всегда распознаёт как текст.
  • 📅 Даты в числовом формате: 44197 (1 января 2021 года) для Excel — целое число, но по сути это дата.
  • 💾 Импортированные данные: числа из CSV или баз данных могут приходить в текстовом формате ("100" вместо 100).

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

Способ 1: Условное форматирование по формуле

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

Инструкция по шагам:

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

    или для текстового формата:

    =ЕЧИСЛО(ЗНАЧЕН(A1)) И ЦЕЛОЕ(ЗНАЧЕН(A1))=ЗНАЧЕН(A1)
  5. Задайте формат выделения (например, зелёный фон) и нажмите ОК.

Выделили весь диапазон данных|Убедились, что в диапазоне нет объединённых ячеек|Проверили, что формула ссылается на первую ячейку диапазона (A1, а не A:A)|Тестировали формулу на контрольных значениях (например, 5, 5.0, 5.1, "5")

-->

⚠️ Внимание: Формула =ЦЕЛОЕ(A1)=A1 не сработает для чисел в экспоненциальном формате (например, 1E+05). Для таких случаев используйте модифицированную версию:

=И(ЕЧИСЛО(A1); A1=ОКРУГЛ(A1;0))

Способ 2: Фильтрация данных через "Текст по столбцам"

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

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

  • 📋 Выделите столбец с данными.
  • 🔧 Перейдите на вкладку Данные → Текст по столбцам.
  • 📌 В первом окне мастера выберите С разделителями (даже если разделителей нет) и нажмите Далее.
  • 🚫 Снимите все галочки с разделителей и нажмите Далее.
  • 🔢 В окне Формат данных столбца выберите Общий или Числовой.
  • 📊 После преобразования примените стандартный фильтр по формату Числовые фильтры → Равно... и укажите критерий (например, целое число).

Исходное значение Тип данных Результат после "Текст по столбцам" Будет ли найдено фильтром?
"100" Текст 100 (число) Да
100.00 Число 100 (число) Да
"100 руб" Текст 100 (число) Да
100.5 Число 100.5 (число) Нет

💡 Полезный совет: Если после преобразования некоторые ячейки остались текстом (например, "N/A" или "#ДЕЛ/0!"), добавьте в фильтр условие Не равно * (звёздочка), чтобы исключить нечисловые значения.

Условное форматирование|Фильтры|Формулы (например, ФИЛЬТР)|Макросы|Другой способ-->

Способ 3: Формулы для извлечения целых чисел

Когда нужно не только выделить, но и извлечь целые числа в отдельный столбец, помогут комбинации функций. Например, формула ниже возвращает значение из ячейки A1, только если оно целое, иначе — пустую строку:

=ЕСЛИ(И(ЕЧИСЛО(A1); A1=ОКРУГЛ(A1;0)); A1; "")

Для обработки текстовых чисел (например, "123" или " 456 ") используйте:

=ЕСЛИ(И(ЕОШ(ЗНАЧЕН(A1)+0); ЛОЖЬ); ЕСЛИ(A1=ОКРУГЛ(ЗНАЧЕН(A1);0); ЗНАЧЕН(A1); ""); "")

Разберём, как это работает:

  • 🔍 ЕЧИСЛО(A1) — проверяет, является ли содержимое ячейки числом.
  • 📏 A1=ОКРУГЛ(A1;0) — сравнивает число с его округлённой версией.
  • 🔄 ЗНАЧЕН(A1) — преобразует текст в число (например, "123"123).
  • ⚠️ ЕОШ(ЗНАЧЕН(A1)+0) — ловит ошибки преобразования (например, для "abc").

Почему формула не работает с датами?

Даты в Excel хранятся как числа (например, 44197 = 1 января 2021 года), но функция ОКРУГЛ не различает даты и обычные числа. Чтобы исключить даты, добавьте проверку:

=ЕСЛИ(И(ЕЧИСЛО(A1); A1=ОКРУГЛ(A1;0); A1<ДАТА(1900;1;1)); A1; "")

Здесь ДАТА(1900;1;1) — минимальная дата в Excel (номер 1). Все числа меньше этого значения — не даты.

Способ 4: Макросы для массовой обработки

Если вам нужно регулярно выделять целые числа в больших таблицах (десятки тысяч строк), макросы на VBA сэкономят время. Ниже приведён код, который выделяет все ячейки с целыми числами жёлтым цветом:

Sub ВыделитьЦелыеЧисла()

Dim rng As Range

Dim cell As Range

Set rng = Selection ' Выделенный диапазон

For Each cell In rng

If IsNumeric(cell.Value) Then

If cell.Value = Int(cell.Value) Then

cell.Interior.Color = RGB(255, 255, 0) ' Жёлтый цвет

End If

End If

Next cell

End Sub

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите диапазон данных в Excel и запустите макрос (F5).

⚠️ Внимание: Макрос не различает числа в текстовом формате (например, "100"). Чтобы обработать и их, замените строку If IsNumeric(cell.Value) Then на:

If IsNumeric(cell.Value) Or IsNumeric(Replace(cell.Value, " ", "")) Then

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

Если ваши данные поступают из внешних источников (базы данных, CSV, JSON) и содержат смешанные форматы, Power Query — идеальный инструмент для предварительной очистки. Он позволяет:

  • 🔎 Автоматически определять типы данных.
  • 📊 Фильтровать целые числа на этапе импорта.
  • 🔄 Преобразовать текстовые числа в числовой формат.

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

  1. Импортируйте данные через Данные → Получить данные → Из файла/базы данных.
  2. В редакторе Power Query выделите столбец с числами.
  3. Перейдите на вкладку Преобразовать → Тип данных → Целое число (если нужно принудительное преобразование).
  4. Добавьте пользовательский столбец с формулой:
    = if [Column1] = Number.Round([Column1]) then [Column1] else null

    (замените Column1 на имя вашего столбца).

  5. Удалите строки с пустыми значениями (null) и загрузите данные в Excel.

Преимущество Недостаток
Обрабатывает миллионы строк без замедления Требует изучения интерфейса Power Query
Сохраняет шаги обработки для повторного использования Не подходит для одноразовых задач
Автоматически обновляет данные при изменении источника Может некорректно интерпретировать локализованные форматы (например, 1 000 вместо 1000)

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

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

  1. Ошибка: Формула =ЦЕЛОЕ(A1)=A1 не работает для чисел с нулями после запятой (5.000).
    Решение: Используйте =A1=ОКРУГЛ(A1;0) или измените формат ячейки на Общий.
  2. Ошибка: Условное форматирование не применяется к скрытым строкам.
    Решение: Перед настройкой форматирования отмените фильтры (Данные → Фильтр → Очистить).
  3. Ошибка: Макрос выделяет даты как целые числа.
    Решение: Добавьте проверку на диапазон дат:
    If cell.Value < DateSerial(1900, 1, 1) Then
  4. Ошибка: После импорта числа отображаются как ######.
    Решение: Расширьте столбец или измените формат на Общий.
  5. Ошибка: Формула ЗНАЧЕН возвращает ошибку для пустых ячеек.
    Решение: Оберните её в ЕСЛИОШИБКА:
    =ЕСЛИОШИБКА(ЗНАЧЕН(A1); 0)

⚠️ Внимание: Если вы работаете с данными, импортированными из или SAP, проверьте настройки региональных стандартов. В некоторых системах в качестве разделителя используется запятая (1,00 вместо 1.00), что может сбивать формулы. Исправьте это через Файл → Параметры → Дополнительно → Разделитель целой и дробной частей.

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

Можно ли выделить целые числа в Excel Online?

Да, но с ограничениями. В Excel Online доступно условное форматирование по формуле (см. Способ 1), но нет поддержки макросов и Power Query. Для фильтрации используйте стандартные числовые фильтры, предварительно преобразовав текстовые числа в числовой формат через Текст по столбцам.

Почему формула =ЦЕЛОЕ(A1)=A1 не работает для отрицательных чисел?

Функция ЦЕЛОЕ округляет отрицательные числа в сторону уменьшения (например, ЦЕЛОЕ(-5.2) = -6). Для корректной проверки используйте:

=ОКРУГЛ(A1;0)=A1

или

=A1=ПОТОЛОК(A1;1)

Как выделить целые числа в диапазоне от 100 до 1000?

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

=И(A1=ОКРУГЛ(A1;0); A1>=100; A1<=1000)

Для условного форматирования или фильтрации.

Можно ли выделить целые числа в защищённом листе?

Да, но только методами, не требующими изменения ячеек:

  • 🔍 Фильтрация (не изменяет данные).
  • 📊 Условное форматирование (работает даже в защищённых листах).
  • 📝 Формулы в отдельном столбце (если разрешены изменения в незащищённых ячейках).

Макросы и Power Query в защищённом листе не работают.

Как выделить целые числа в столбце, где есть пустые ячейки?

Используйте формулу с проверкой на пустоту:

=ЕСЛИ(A1<>""; ЕСЛИ(И(ЕЧИСЛО(A1); A1=ОКРУГЛ(A1;0)); ИСТИНА; ЛОЖЬ); ЛОЖЬ)

Для условного форматирования или добавьте условие Не равно "" в стандартном фильтре.