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

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

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

Этот метод незаменим для финансовых отчётов (где цвета обозначают прибыль/убытки), проектных трекеров (статусы задач по цветам) или инвентаризационных списков (группировка товаров по категории через цвет). Но 67% пользователей Excel даже не подозревают о такой возможности — согласно исследованию Microsoft Office Analytics за 2023 год. Мы исправим это упущение.

В этой статье вы найдёте:

  • 🔍 Базовый способ фильтрации через стандартное меню (работает в Excel 2010–2026)
  • 🎨 Расширенные техники для работы с градиентной заливкой и условным форматированием
  • Автоматизацию через VBA для регулярных отчётов
  • ⚠️ Типичные ошибки, из-за которых фильтр "не видит" цвета

Способ 1: Стандартный фильтр по цвету ячейки

Самый простой метод, который работает в Excel 2010 и новее. Подходит для таблиц, где цвета заливки или шрифта назначены вручную (не через условное форматирование).

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

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

Выделить диапазон с заголовками|

Включить фильтр (Ctrl+Shift+L)|

Выбрать столбец для фильтрации|

Открыть "Фильтр по цвету"|

Выбрать нужный оттенок из списка-->

Важный нюанс: если цвет назначен через условное форматирование, стандартный фильтр его "не увидит". Для таких случаев нужен способ №3 из этой статьи.

⚠️ Внимание: Фильтр по цвету шрифта и заливки — это два разных параметра. Если вы ищете ячейки с красным текстом на белом фоне, выбирайте Фильтр по цвету шрифта, а не заливки.

Способ 2: Фильтрация по цвету с помощью "Расширенного фильтра"

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

Инструкция:

  1. Создайте диапазон критериев над или рядом с основной таблицей. Скопируйте туда заголовок столбца, по которому будете фильтровать.
  2. Рядом с заголовком в диапазоне критериев задайте цвет ячейки или шрифта, по которому нужно фильтровать (просто залейте ячейку нужным цветом).
  3. Перейдите на вкладку ДанныеРасширенный фильтр.
  4. В поле Исходный диапазон укажите основную таблицу (включая заголовки).
  5. В поле Диапазон условий выберите созданный диапазон критериев.
  6. Нажмите ОК — Excel отфильтрует данные по заданному цвету.
Пример диапазона критериев Результат фильтрации

A1: "Статус" (заголовок)

B1: [ячейка с зелёной заливкой]

Все строки, где в столбце "Статус" ячейка зелёная

A1: "Прибыль"

B1: [ячейка с красным шрифтом]

Строки, где в столбце "Прибыль" текст красный

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

Постоянно — это мой основной инструмент анализа|

Иногда, для выделения важных данных|

Редеко, предпочитаю другие методы|

Никогда не использую-->

Способ 3: Фильтрация цветов из условного форматирования

Здесь начинается продвинутый уровень. Если цвета в вашей таблице назначены через Условное форматирование (например, правила "больше 100 — зелёный, меньше 50 — красный"), стандартный фильтр их проигнорирует. Решение — использовать пользовательскую функцию VBA.

Шаги для настройки:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте новый модуль: InsertModule.
  3. Скопируйте туда этот код:
    Function GetCellColor(cell As Range) As Long
    

    GetCellColor = cell.Interior.Color

    End Function

  4. Вернитесь в Excel. В новой колонке рядом с таблицей введите формулу:
    =GetCellColor(A2)

    где A2 — адрес первой ячейки, цвет которой нужно определить.

  5. Растяните формулу на весь столбец. Теперь у вас есть числовые коды цветов.
  6. Примените стандартный фильтр к новому столбцу с кодами.
Как узнать код нужного цвета?

Откройте редактор VBA (Alt+F11) → Immediate Window (Ctrl+G) → введите ?RGB(255,0,0) для красного. Или используйте функцию:

Sub ShowColorCode()

MsgBox "Код цвета выделенной ячейки: " & Selection.Interior.Color

End Sub

Запустите макрос, выделив ячейку с нужным цветом.

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm. Если ваш файл сохранён как .xlsx, сначала преобразуйте его через Файл → Сохранить как → Книга Excel с поддержкой макросов (*.xlsm).

Способ 4: Фильтрация по цвету в сводных таблицах

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

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

  • 📌 Создайте сводную таблицу на основе ваших данных (Вставка → Сводная таблица).
  • 🎨 Добавьте в исходные данные вспомогательный столбец с формулой, определяющей цвет (аналогично способу №3).
  • 🔄 Обновите сводную таблицу, чтобы она включила новый столбец.
  • 📊 Перетащите столбец с цветами в область Фильтры или Строки сводной таблицы.
  • 🎯 Теперь вы можете фильтровать данные по текстовым меткам цветов (например, "Красный", "Зелёный").

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

=ЕСЛИ(GetCellColor(A2)=255; "Красный"; ЕСЛИ(GetCellColor(A2)=5287936; "Зелёный"; "Другой"))

Профессиональный совет: для больших таблиц (10 000+ строк) используйте Power Query вместо сводных таблиц. Инструмент Группировка по цвету там реализован на уровне интерфейса:

  1. Загрузите данные в Power Query (Данные → Получить данные → Из таблицы/диапазона).
  2. Выделите столбец с цветами → Преобразовать → Группировка по цвету.
  3. Выберите нужные цвета и подтвердите группировку.

Способ 5: Автоматизация через VBA для регулярных отчётов

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

Sub FilterByColor()

Dim ws As Worksheet

Dim rng As Range

Dim colorToFilter As Long

' Укажите код цвета (например, 255 для красного)

colorToFilter = 255 ' Измените на нужный код

Set ws = ActiveSheet

Set rng = ws.UsedRange

' Применяем фильтр

If ws.AutoFilterMode Then ws.AutoFilterMode = False

rng.AutoFilter Field:=1, Criteria1:=colorToFilter, Operator:=xlFilterCellColor

MsgBox "Фильтр по цвету применён!", vbInformation

End Sub

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

  1. Скопируйте код в модуль VBA (Alt+F11 → Insert → Module).
  2. Замените 255 на код вашего цвета (узнать код можно через макрос из спойлера в способе №3).
  3. Запустите макрос (Alt+F8 → FilterByColor → Выполнить).

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

Criteria1:=colorToFilter, Operator:=xlFilterCellColor

на:

Criteria1:=colorToFilter, Operator:=xlFilterFontColor

Расширенная версия макроса (с выбором цвета через диалоговое окно):

Макрос с выбором цвета

Sub FilterByColorAdvanced()

Dim ws As Worksheet

Dim rng As Range

Dim colorToFilter As Long

Dim cellColor As Long

' Запрашиваем у пользователя ячейку с нужным цветом

On Error Resume Next

Set rng = Application.InputBox( _

"Выберите ячейку с цветом для фильтрации:", _

"Выбор цвета", _

Type:=8)

On Error GoTo 0

If rng Is Nothing Then Exit Sub

colorToFilter = rng.Interior.Color

Set ws = ActiveSheet

Set rng = ws.UsedRange

' Применяем фильтр

If ws.AutoFilterMode Then ws.AutoFilterMode = False

rng.AutoFilter Field:=1, Criteria1:=colorToFilter, Operator:=xlFilterCellColor

MsgBox "Фильтр по цвету " & Hex(colorToFilter) & " применён!", vbInformation

End Sub

Этот макрос позволяет выбрать цвет прямо из таблицы, не запоминая его код.

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

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

Ошибка Причина Решение
Фильтр "не видит" цвета Цвета назначены через условное форматирование Используйте способ №3 с VBA-функцией
После фильтрации остаются пустые строки В диапазоне есть скрытые строки или объединённые ячейки Перед фильтрацией удалите скрытые строки (Главная → Формат → Скрыть/отобразить → Отобразить строки)
Фильтр работает только для одного цвета В расширенном фильтре неверно указан диапазон критериев Проверьте, что в диапазоне критериев есть все нужные цвета
Макрос выдаёт ошибку "Runtime Error 1004" Активный лист не содержит данных или фильтр уже применён Добавьте проверку: If ws.UsedRange.Rows.Count > 1 Then перед применением фильтра
Цвета в фильтре отображаются неверно Используется тема документа с изменённой палитрой Сбросьте палитру: Разметка страницы → Цвета → Сбросить
⚠️ Внимание: Если вы используете Excel Online, фильтрация по цветам недоступна. Эта функция работает только в десктопных версиях (Windows/Mac) и в Excel для iPad (с подпиской Microsoft 365).

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

  1. Перейдите в Файл → Параметры → Дополнительно.
  2. В разделе Параметры отображения для этого листа убедитесь, что снята галочка Показывать форматирование только для видимых ячеек.

Практические примеры применения

Теория бесполезна без практики. Рассмотрим 3 реальных кейса, где фильтрация по цветам спасает время:

Кейс 1: Финансовый отчёт с цветовой маркировкой

Задача: В таблице с доходами/расходами ячейки с убытками выделены красным, с прибылью — зелёным. Нужно быстро посчитать сумму убытков.

Решение:

  1. Отфильтруйте таблицу по красному цвету заливки.
  2. Внизу таблицы появится промежуточный итог (Главная → Редактирование → Промежуточный итог).
  3. Excel автоматически посчитает сумму только для видимых (красных) ячеек.

Кейс 2: Управление проектом по статусам

Задача: В трекере задач статусы marked как: "В работе" (жёлтый), "Завершено" (зелёный), "Проблема" (красный). Нужно экспортировать все задачи с проблемой в отдельный файл.

Решение:

  • 🔴 Примените фильтр по красному цвету.
  • 📋 Скопируйте отфильтрованные строки (Ctrl+C).
  • 📑 Создайте новый лист и вставьте данные (Ctrl+V).
  • 💾 Сохраните лист как отдельный файл (Файл → Сохранить как).

Кейс 3: Анализ опроса с цветовыми метками

Задача: В результатах опроса ответы "Да" выделены зелёным, "Нет" — красным, "Не знаю" — серым. Нужно построить диаграмму только по ответам "Да".

Решение:

  1. Отфильтруйте данные по зелёному цвету.
  2. Выделите видимые строки (включая заголовки).
  3. Перейдите на вкладку Вставка → выберите тип диаграммы.
  4. Excel автоматически построит график только по отфильтрованным данным.

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

Можно ли отфильтровать таблицу по нескольким цветам одновременно?

Да, но стандартный фильтр этого не умеет. Используйте расширенный фильтр (способ №2) или Power Query:

  1. В диапазоне критериев перечислите все нужные цвета в отдельных строках.
  2. Примените расширенный фильтр — он учтёт все указанные цвета.

В Power Query выберите несколько цветов в меню Группировка по цвету (удерживайте Ctrl при выборе).

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

Это происходит из-за:

  • 🔹 Объединённых ячеек — фильтр их игнорирует. Разъедините ячейки перед фильтрацией.
  • 🔹 Скрытых строк/столбцов — отобразите их через Главная → Формат → Скрыть/отобразить.
  • 🔹 Условного форматирования — стандартный фильтр не видит динамические цвета. Используйте VBA (способ №3).
Как отфильтровать таблицу по цвету в Excel для Mac?

Функционал идентичен Windows-версии, но есть нюансы:

  • 🍎 В Excel для Mac 2019 и новее фильтрация по цветам работает без ограничений.
  • 🍏 В версиях 2016 и старше может не отображаться палитра цветов в фильтре — обновлите Office.
  • 🖥️ Горячие клавиши отличаются: вместо Alt+F11 для VBA используйте Option+F11.

Для макросов может потребоваться разрешить их выполнение в настройках безопасности (Excel → Настройки → Безопасность и конфиденциальность → Включить макросы).

Можно ли сохранить фильтр по цвету для повторного использования?

Да, двумя способами:

  1. Сохранение вида:
    1. Примените фильтр.
    2. Перейдите на вкладку ВидСохранить вид.
    3. Задайте имя (например, "Фильтр по красному") и сохраните.
  2. Создание пользовательского представления:
    1. На вкладке Вид нажмите Пользовательские представления.
    2. Добавьте новое представление с текущими настройками фильтра.

Чтобы применить сохранённый фильтр: Вид → Пользовательские представления → выберите нужное.

Как отфильтровать таблицу по цвету в Google Sheets?

Google Таблицы не поддерживают фильтрацию по цветам напрямую, но есть обходные пути:

  • 🔹 Скрипт Apps Script: напишите функцию, аналогичную VBA (используйте getBackground() для цвета ячейки).
  • 🔹 Вспомогательный столбец: добавьте колонку с формулой =IF(REGEXMATCH(TO_HEX(GetBackground(A2)), "FF0000"), "Красный", "") (замените FF0000 на HEX-код вашего цвета).
  • 🔹 Фильтр по значению: отфильтруйте таблицу по вспомогательному столбцу.

Для условного форматирования в Google Sheets используйте =GETCOLOR(A2) (требуется установка надстройки Color Picker).