Фильтрация данных по цвету ячеек в Excel

Иван Корнев·12.04.2026·4 мин

Чтобы отфильтровать данные по цвету в Excel, выделите столбец, нажмите кнопку «Фильтр» (или Ctrl+Shift+L), откройте выпадающее меню заголовка, выберите пункт «Фильтр по цвету» и укажите нужный оттенок заливки или цвета шрифта. Это встроенная функция, работающая во всех современных версиях программы без необходимости установки дополнений.

Однако стандартный фильтр имеет ограничение: он реагирует только на цвет, заданный вручную, и не всегда «видит» цвет, полученный через условное форматирование. В таких случаях потребуются дополнительные формулы или макросы. Ниже разберем все способы решения задачи.

Стандартная фильтрация по цвету заливки и шрифта

Самый быстрый способ работает, если цвет ячейки был установлен вручную через инструмент «Цвет заливки».

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

  1. Выделите шапку таблицы или любой диапазон данных.
  2. Перейдите на вкладку Данные и нажмите кнопку Фильтр (значок воронки).
    • Горячая клавиша: Ctrl + Shift + L.
  3. В заголовке столбца появится стрелочка. Нажмите на неё.
  4. Наведите курсор на пункт Фильтр по цвету.
  5. В появившемся подменю выберите нужный цвет заливки или цвета шрифта.

Таблица скроет все строки, не соответствующие выбранному критерию. Чтобы сбросить фильтр, снова откройте меню и выберите «Удалить фильтр из столбца...» или нажмите Ctrl + Shift + L повторно.

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

Проблема с условным форматированием

Частая ситуация: вы настроили правило (например, «если значение больше 100, покрасить в красный»), но в меню фильтрации этот красный цвет отсутствует или фильтр его игнорирует.

Это происходит потому, что стандартный фильтр считывает свойство Interior.Color, которое меняется только при ручном окрашивании. Цвета от условного форматирования являются динамическими и для обычного фильтра «невидимы» в некоторых старых версиях или специфических настройках.

Решение: В новых версиях Excel (2019, 2021, 365) фильтр по цвету обычно корректно обрабатывает и условное форматирование. Если этого не происходит:

  1. Убедитесь, что правило применено ко всему диапазону, включая новые строки.
  2. Попробуйте пересохранить файл в формате .xlsx.
  3. Если проблема сохраняется, используйте вспомогательный столбец с формулой (см. следующий раздел).

Фильтрация с помощью вспомогательного столбца

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

Использование функции ПОЛУЧИТЬ.ЯЧЕЙКУ (Get.Cell)

Эта функция позволяет считать цвет ячейки, но она доступна только через Именованные диапазоны.

  1. Перейдите на вкладку Формулы > Диспетчер имен (или Ctrl+F3).
  2. Нажмите Создать.
  3. В поле Имя введите, например, ColorCode.
  4. В поле Диапазон введите формулу: =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Лист1!$A2) (Замените Лист1!$A2 на адрес первой ячейки вашего столбца с данными. Важно использовать относительную ссылку на строку, но абсолютную на столбец, если протягивать формулу горизонтально, или полностью относительную $A2 для вертикального протягивания). Примечание: Число 63 возвращает код цвета фона. Для цвета шрифта используйте 24.
  5. Нажмите ОК.
  6. Теперь в любой ячейке вспомогательного столбца введите формулу =ColorCode. Протяните её вниз.
  7. Ячейки заполнятся числовыми кодами цветов (0 — нет цвета, другие числа — конкретные оттенки).
  8. Отфильтруйте этот столбец по нужному числу.

Файл с использованием функции ПОЛУЧИТЬ.ЯЧЕЙКУ необходимо сохранять в формате .xlsm (с поддержкой макросов), иначе функция перестанет работать после перезагрузки.

Автоматизация через макросы (VBA)

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

Пример простого макроса для фильтрации столбца A по красному цвету (код 3):

Sub FilterByRedColor()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    
    ' Включает автофильтр, если его нет
    If Not ws.AutoFilterMode Then ws.Range("A1").AutoFilter
    
    ' Фильтрует первый столбец (Field:=1) по цвету индекса 3 (Красный)
    ' xlFilterColor используется для фильтрации по цвету
    ws.Range("A1").AutoFilter Field:=1, Criteria1:=3, Operator:=xlFilterColor
End Sub

Чтобы использовать код:

  1. Нажмите Alt + F11, вставьте новый модуль.
  2. Вставьте код и запустите его (F5).
  3. Таблица мгновенно отфильтруется.

Этот метод идеален, если вы формируете ежедневные отчеты и цветовая маркировка является ключевым критерием отбора.

Частые ошибки

  • Фильтр не видит цвет. Чаще всего причина в том, что цвет задан через условное форматирование в старой версии Excel, либо файл поврежден. Попробуйте снять и заново наложить условное форматирование.
  • Разные оттенки одного цвета. Excel может воспринимать светло-красный и темно-красный как разные цвета для фильтра, если они имеют разные коды. В меню фильтрации они будут отображаться отдельными пунктами.
  • Формула возвращает 0. При использовании ПОЛУЧИТЬ.ЯЧЕЙКУ убедитесь, что ссылка в именованном диапазоне корректна и указывает на ячейку с цветом, а не на пустую клетку.

FAQ

Можно ли фильтровать по нескольким цветам одновременно? Стандартными средствами — нет. Можно выбрать только один цвет за раз. Для выборки нескольких цветов используйте расширенный фильтр со списком условий или сводную таблицу, если цвета продублированы текстовыми метками.

Как отсортировать данные по цвету, а не скрыть их? В меню фильтра вместо выбора конкретного цвета нажмите «Сортировать по цвету». Все окрашенные ячейки переместятся вверх или вниз списка, оставаясь видимыми.

Работает ли фильтр по цвету в онлайн-версии Excel? Да, в Excel для Web (браузерная версия) функция фильтрации по цвету заливки и шрифта поддерживается полностью, если файл открыт через аккаунт Microsoft 365.