Как в Excel отфильтровать строки по цвету ячейки или текста: 5 работающих способов

Если в вашей таблице Excel строки выделены разными цветами, но стандартный фильтр игнорирует эту разметку, проблема решается за 3 клика. Фильтрация по цвету работает иначе, чем по числовым или текстовым значениям: инструмент скрыт в меню Данные → Фильтр → Фильтр по цвету, но доступен не во всех версиях одинаково. В Excel 2016-2026 алгоритм упрощён, а в Excel 2010-2013 требуется предварительная настройка условного форматирования. Главное правило: цвет должен быть применён непосредственно к ячейкам (а не через условное форматирование по формуле) — иначе фильтр не сработает.

Чаще всего пользователи сталкиваются с двумя сценариями: нужно отобразить только строки с красным фоном (например, просроченные задачи) или с зелёным текстом (утверждённые данные). В обоих случаях решение одно: использовать встроенный фильтр по цвету, но с нюансами. Если цвет назначен через Условное форматирование → Новое правило, придётся сначала зафиксировать его как статический (копированием формата). Ниже разберём оба варианта, а также альтернативы для таблиц с 100 000+ строк, где стандартный фильтр тормозит.

Почему стандартный фильтр не видит цвет ячеек

В 80% случаев проблема кроется в источнике цвета. Excel различает три типа окраски:

  • 🎨 Ручной цвет: назначен через Главная → Цвет заливки/шрифта. Фильтр его «видит».
  • 📊 Условное форматирование: цвет меняется по правилу (например, =A1>100). Фильтр его игнорирует, если не преобразовать.
  • 🖌️ Стили ячеек: цвет из предопределённого стиля (например, «Хороший», «Плохой»). Фильтр работает, но может сбоить при изменении темы книги.

Второй подводный камень — версия Excel. В Excel Online и мобильной версии фильтрация по цвету недоступна вообще, а в Excel для Mac 2011 требуется включить надстройку Analytic Solver Platform. Если вы работаете с таблицей, где цвет назначен через VBA-скрипт (например, .Interior.ColorIndex = 3), фильтр его тоже не распознает — придётся использовать макрос для фильтрации.

⚠️ Внимание: Если после применения фильтра по цвету строки исчезли полностью, проверьте настройки Файл → Параметры → Дополнительно → Показывать параметры для следующей книги. Иногда сброс настроек отображения приводит к ошибке фильтрации.

Способ 1: Фильтр по цвету ячейки (ручная заливка)

Самый простой метод работает для цветов, назначенных вручную. Инструкция для Excel 2016-2026:

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

Если опция Фильтр по цвету неактивна, причины могут быть такими:

  • 🔴 В выделенном диапазоне нет ячеек с ручной заливкой (проверьте через Главная → Найти и выделить → Выделить группу ячеек → Формат).
  • 🔄 Фильтр уже применён к другому столбцу — снимите его или используйте Расширенный фильтр.
  • 📎 Таблица защищена от изменений (проверьте в Рецензирование → Защитить лист).

Выделите диапазон с заголовками|Проверьте, что цвет назначен вручную (не через условное форматирование)|Убедитесь, что в столбце есть хотя бы 1 ячейка с нужным цветом|Снимите другие фильтры перед применением нового-->

Версия Excel Поддерживает фильтр по цвету? Ограничения
Excel 2010-2013 Да Не работает с цветами из условного форматирования
Excel 2016-2019 Да Может тормозить на таблицах >50 000 строк
Excel 2021/365 Да Поддерживает динамические массивы, но фильтр по цвету к ним не применяется
Excel Online Нет Альтернатива: сортировка по цвету (меню Данные → Сортировка)

Способ 2: Фильтрация по цвету текста (шрифта)

Алгоритм аналогичен фильтрации по заливке, но есть нюансы:

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

Для текста с градиентной заливкой или эффектами (например, через Формат ячейки → Заливка → Градиентная) фильтр не сработает. В этом случае:

  • 🖍️ Замените градиент на сплошной цвет через Главная → Цвет текста.
  • 🔍 Используйте Поиск (Ctrl+F) с параметром Формат → Выбрать формат из ячейки.

Способ 3: Преобразование условного форматирования в статический цвет

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

  1. Выделите диапазон с условным форматированием.
  2. Нажмите Ctrl+C (скопировать).
  3. Не снимая выделения, выберите Главная → Вставить → Специальная вставка → Форматы.
  4. Теперь цвет зафиксирован как статический, и фильтр будет работать.

Важно: после этой операции условное форматирование перестанет обновляться автоматически. Чтобы вернуть динамику:

  • 🔄 Удалите статическое форматирование через Главная → Очистить → Очистить форматы.
  • 📊 Пересоздайте правило условного форматирования.
⚠️ Внимание: В больших таблицах (от 100 000 строк) специальная вставка форматов может занять несколько минут. Для ускорения разбейте диапазон на части по 20 000 строк.

Способ 4: Расширенный фильтр для сложных условий

Если нужно отфильтровать строки по цвету в нескольких столбцах или применить дополнительные критерии (например, «красный фон И значение >100»), используйте Расширенный фильтр:

  1. Создайте диапазон критериев: скопируйте заголовки столбцов, которые нужно фильтровать, в отдельную область.
  2. Рядом с заголовком укажите условие цвета: выделите ячейку, назначьте ей нужный цвет через Цвет заливки, затем удалите содержимое (оставив только формат).
  3. Перейдите на Данные → Сортировка и фильтр → Расширенный.
  4. Укажите исходный диапазон и диапазон критериев. Отметьте Скопировать результат в другое место, если нужно сохранить оригинал.

Пример диапазона критериев для фильтрации строк с красным фоном в столбце B и зелёным текстом в столбце D:


| A | B (красный фон) | C | D (зелёный текст) |

|-------|--------------------|-------|--------------------|

| Заг1 | | Заг3 | |

Стандартный фильтр|Расширенный фильтр|VBA-скрипты|Условное форматирование + копирование форматов-->

Способ 5: VBA-скрипт для автоматизации

Если фильтрация по цвету нужна регулярно, запишите макрос:


Sub FilterByColor()

Dim ws As Worksheet

Dim rng As Range

Dim colorIndex As Long

Set ws = ActiveSheet

Set rng = ws.UsedRange

colorIndex = 3 ' Красный цвет (измените на нужный)

rng.AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColor

End Sub

Как адаптировать скрипт:

  • 🔢 Field:=1 — номер столбца (1 = столбец A).
  • 🎨 RGB(255, 0, 0) — цвет в формате RGB (красный). Для зелёного используйте RGB(0, 255, 0).
  • 📌 Чтобы фильтровать по цвету текста, замените xlFilterCellColor на xlFilterFontColor.

Для запуска макроса:

  1. Нажмите Alt+F11 для открытия редактора VBA.
  2. Вставьте код в модуль (Insert → Module).
  3. Запустите макрос через F5 или кнопку на панели.
Как узнать RGB-код цвета ячейки?

1. Выделите ячейку с нужным цветом.

2. Нажмите Alt+F11, затем в окне Immediate (Ctrl+G) введите:

? ActiveCell.Interior.Color

3. Результат (например, 255) — это индекс цвета. Чтобы получить RGB, используйте:

? RGB(Red:=255, Green:=0, Blue:=0) (для красного).

Ошибки и решения при фильтрации по цвету

Распространённые проблемы и способы их устранения:

Ошибка Причина Решение
Фильтр по цвету неактивен Цвет назначен через условное форматирование Преобразуйте в статический цвет (Способ 3)
Фильтр применяется, но ничего не отображается В диапазоне нет ячеек с указанным цветом Проверьте цвет через Найти и выделить → Формат
Excel зависает при фильтрации Слишком большой диапазон (>100 000 строк) Разбейте таблицу на части или используйте VBA
Цвета в фильтре отображаются неверно Используется тема документа с кастомной палитрой Верните стандартную палитру: Разметка страницы → Цвета → Office

Если после фильтрации строки отображаются некорректно (например, пропущены некоторые цвета), проверьте:

  • 🔍 Наличие скрытых строк (они могут мешать фильтрации).
  • 📊 Формат данных: ячейки с формулами, возвращающими ошибки (#Н/Д), могут исключаться из фильтра.
  • 🔄 Настройки Файл → Параметры → Формулы → Параметры вычислений (должен стоять Автоматически).

FAQ: Частые вопросы по фильтрации по цвету

Можно ли отфильтровать строки по цвету в Excel Online?

Нет, в веб-версии эта функция отсутствует. Альтернатива: скачайте файл в настольную версию Excel или используйте сортировку по цвету (Данные → Сортировка → Добавить уровень → Цвет ячейки).

Почему после копирования форматов фильтр перестал работать?

Вероятно, вы скопировали не только цвет, но и другие параметры формата (шрифт, границы). Проверьте, что в ячейках остался только цвет заливки/текста. Используйте Очистить форматы и назначьте цвет заново.

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

Сводные таблицы не поддерживают фильтрацию по цвету. Решение: добавьте столбец с формулой, которая будет возвращать название цвета (например, =ЕСЛИ(A1.ЦветЗаливки=RGB(255;0;0);"Красный";"Другой")), затем фильтруйте по этому столбцу.

Можно ли сохранить фильтр по цвету при закрытии файла?

Да, если сохранить файл с применённым фильтром. Однако при следующем открытии может потребоваться обновить данные (Данные → Обновить все), особенно если цвета назначались через условное форматирование.

Как отфильтровать по цвету в защищённом листе?

Разблокируйте ячейки с фильтрами: Рецензирование → Снять защиту листа → выделите диапазон с фильтром → Главная → Формат → Разблокировать ячейки → снова защитите лист. Фильтр будет работать.