Как фильтровать данные по нескольким цветам в Excel?
В обычном использовании Excel применение фильтра на основе цвета ячейки является простым, когда речь идет об одном цвете. Однако что делать, если вам нужно отфильтровать строки, содержащие более одного определенного цвета одновременно? Например, предположим, у вас есть список данных, отформатированный с помощью нескольких категорий, выделенных разными цветами заливки, и вам нужно просмотреть только строки, содержащие два или более выбранных цвета. Эта ситуация не может быть решена напрямую через стандартные функции фильтрации Excel, поскольку встроенный фильтр позволяет выбирать только один цвет за раз. В этой статье представлены эффективные методы решения этой проблемы, а также объяснение их практической ценности и ситуаций, где вы можете предпочесть один подход другому.
Ниже вы найдете решение с использованием VBA-кода, а также дополнительные советы и предостережения для достижения наилучших результатов. Кроме того, вы найдете две альтернативные методики (использование вспомогательных столбцов с формулами и надстройка Kutools для Excel) для вашего удобства:
Фильтрация данных по нескольким цветам с помощью кода VBA
Ручная категоризация и фильтрация данных по нескольким цветам в Excel
Фильтрация данных по нескольким цветам с помощью кода VBA
В настоящее время Excel не предлагает встроенного способа фильтрации строк на основе более чем одного цвета фона ячеек одновременно. Когда вам нужно отобразить только строки, соответствующие нескольким конкретным цветам, можно обратиться к пользовательскому решению на основе VBA. Подход, описанный ниже, демонстрирует, как использовать пользовательскую функцию для извлечения номеров индексов цветов в соседний вспомогательный столбец. После определения цветов таким образом вы можете фильтровать данные с помощью встроенных инструментов фильтрации Excel. Этот метод лучше всего подходит для небольших и средних наборов данных и особенно полезен, если вы комфортно работаете с макросами.
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications. Если вы хотите сохранить код в своей книге для будущего использования, сохраните файл как книгу с поддержкой макросов (.xlsm) или другой формат, поддерживающий макросы, так как обычные файлы Excel (.xlsx) не могут хранить код VBA.
2. Щелкните Вставка > Модуль и вставьте следующий код в открывшееся окно Модуля.
VBA код: Извлечение номера индекса цвета:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Перед продолжением убедитесь, что вы сохранили свою работу. Использование VBA может вызвать предупреждение безопасности в некоторых случаях, поэтому включите макросы при появлении запроса.
3. Вернитесь к вашей таблице. Рядом с вашими данными выберите пустую ячейку (например, если ваши цветные ячейки находятся в столбце A, а первая строка данных — это строка 2, используйте B2) и введите формулу: =Getcolor(A2). Здесь A2 ссылается на первую цветную ячейку, которую вы хотите проанализировать. Эта функция вернет индекс цвета в виде числа во вспомогательный столбец. См. скриншот:
4. Используйте маркер заполнения, чтобы скопировать эту формулу вниз вдоль вашего диапазона данных, так чтобы каждая строка теперь показывала индекс цвета для этой строки. Если ваша таблица большая, вы можете дважды щелкнуть маркер заполнения, чтобы автоматически заполнить столбец в соответствии с вашими данными. Теперь все строки будут отображать номер индекса цвета, как показано ниже:
Советы: Если ячейка не имеет цвета фона, функция вернет -4142. Вы можете использовать это значение как эталон, если хотите исключить строки без цвета.
5. Теперь, когда каждая строка связана с определенным индексом цвета, вы можете отфильтровать свои данные, чтобы показать только строки с желаемыми цветами. Для этого выберите вспомогательный столбец, перейдите на вкладку Данные, нажмите Фильтр, а затем щелкните стрелку в верхней части вспомогательного столбца. В раскрывающемся списке фильтра отметьте флажки для всех номеров индексов цветов, соответствующих цветам, которые вы хотите отобразить, как показано здесь:
6. Нажмите OK, чтобы применить фильтр. Теперь будут отображаться только строки с выбранными цветами фона в вашем диапазоне данных. Если вы хотите дополнительно проанализировать или скопировать результаты, вы можете выбрать отфильтрованные строки. См. скриншот:
7. Наконец, если вам больше не нужен видимый вспомогательный столбец, вы можете безопасно скрыть или удалить его. Просто имейте в виду, что удаление столбца после фильтрации приведет к удалению его цветовых ссылок, если вы попытаетесь повторно применить фильтр, поэтому лучше просто скрыть его, если вы еще не завершили этот анализ.
Если после ввода формулы вы получили ошибку #ИМЯ?, скорее всего, код VBA был вставлен некорректно или макросы не включены. Проверьте модуль VBA и параметры безопасности макросов.
Одним из преимуществ этого решения является то, что оно позволяет комбинировать фильтрацию на основе цветов с другими типами критериев, такими как текстовые или числовые фильтры, используя встроенные элементы управления фильтром Excel. Однако ограничением является то, что коды цветов ячеек могут измениться, если вы примените новую тему или скопируете данные из других источников, что может потребовать обновления или повторного применения VBA-функции.
Ручная категоризация и фильтрация данных по нескольким цветам в Excel
Если использование VBA не подходит для ваших потребностей из-за политик безопасности книги или предпочтений пользователя, практичное решение заключается в ручном кодировании цветовых категорий во вспомогательном столбце, а затем фильтрации данных на основе этих категорий. Это решение подходит для ситуаций, где количество различных цветов легко управляемо, а изменения в кодах цветов происходят редко.
Вы можете создать вспомогательный столбец (например, «Цветовая категория») рядом с вашими данными и вручную назначить метку каждой строке в зависимости от ее цвета заливки (например, «Красный», «Зеленый», «Желтый»). Затем используйте функцию фильтра, чтобы отображать только те категории, которые вы хотите видеть.
Шаги: Во вспомогательном столбце введите простые текстовые идентификаторы на основе цвета (например, «Синий» для строк с синей заливкой, «Нет» для строк без заливки). По завершении выберите вспомогательный столбец и используйте Данные > Фильтр, чтобы выбрать любую комбинацию цветных строк для отображения.
Этот подход менее автоматизирован, но дает больше гибкости, если ваш набор данных мал или если определения цветов часто меняются. Если ваши данные динамически изменяются или используются разными пользователями, ручное обслуживание может быть менее эффективным.
Для больших наборов данных или частых обновлений рассмотрите возможность автоматизации этого процесса с помощью VBA или использования специализированной надстройки Excel, как описано ниже.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Связанные статьи:
Как фильтровать данные, разделенные запятыми, в Excel?
Как фильтровать точный текст в Excel?
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек