Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как фильтровать данные по нескольким цветам в Excel?

Author Xiaoyang Last modified

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

Ниже вы найдете решение с использованием VBA-кода, а также дополнительные советы и предостережения для достижения наилучших результатов. Кроме того, вы найдете две альтернативные методики (использование вспомогательных столбцов с формулами и надстройка Kutools для Excel) для вашего удобства:

Фильтрация данных по нескольким цветам с помощью кода VBA

Ручная категоризация и фильтрация данных по нескольким цветам в Excel


arrow blue right bubble Фильтрация данных по нескольким цветам с помощью кода 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 ссылается на первую цветную ячейку, которую вы хотите проанализировать. Эта функция вернет индекс цвета в виде числа во вспомогательный столбец. См. скриншот:

apply a formula to get the color index

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

drag the formula to other cells

Советы: Если ячейка не имеет цвета фона, функция вернет -4142. Вы можете использовать это значение как эталон, если хотите исключить строки без цвета.

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

click Data > Filter, select the color index number that to filter

6. Нажмите OK, чтобы применить фильтр. Теперь будут отображаться только строки с выбранными цветами фона в вашем диапазоне данных. Если вы хотите дополнительно проанализировать или скопировать результаты, вы можете выбрать отфильтрованные строки. См. скриншот:

the selected colors are filtered out

7. Наконец, если вам больше не нужен видимый вспомогательный столбец, вы можете безопасно скрыть или удалить его. Просто имейте в виду, что удаление столбца после фильтрации приведет к удалению его цветовых ссылок, если вы попытаетесь повторно применить фильтр, поэтому лучше просто скрыть его, если вы еще не завершили этот анализ.

Если после ввода формулы вы получили ошибку #ИМЯ?, скорее всего, код VBA был вставлен некорректно или макросы не включены. Проверьте модуль VBA и параметры безопасности макросов.

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


Ручная категоризация и фильтрация данных по нескольким цветам в Excel

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

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

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

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

Для больших наборов данных или частых обновлений рассмотрите возможность автоматизации этого процесса с помощью VBA или использования специализированной надстройки Excel, как описано ниже.


a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Связанные статьи:

Как фильтровать данные, разделенные запятыми, в Excel?

Как фильтровать точный текст в Excel?

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

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