Как в Excel настраивать фильтр и сортировать ячейки по цвету заливки, цвету шрифта и значку

Из этой краткой инструкции Вы узнаете, как быстро сортировать по цвету заливки и шрифта ячейки на листе в Excel 2010 и 2013.

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

Сортировка в Excel по цвету заливки ячейки

Сортировка ячеек в Excel по цвету заливки – это одна из простейших операций, наравне с подсчётом количества ячеек, суммированием и даже фильтрацией. Не потребуются ни код VBA, ни формулы. Мы просто воспользуемся инструментом «Настраиваемая сортировка», который присутствует во всех современных версиях Excel 2013, 2010 и 2007.

  1. Выделите свою таблицу или диапазон ячеек.
  2. На вкладке Главная (Home) в разделе Редактирование (Editing) нажмите кнопку Сортировка и фильтр (Sort & Filter) и в появившемся меню выберите Настраиваемая сортировка (Custom Sort).

    Сортировка и фильтрация по цвету в Excel

  3. В диалоговом окне Сортировка (Sort) настройте параметры слева направо:
    • Укажите Столбец (Column), по которому нужно выполнить сортировку (в нашем примере это столбец Delivery);
    • В поле Сортировка (Sort On) выберите Цвет ячейки (Cell Color);
    • Установите цвет ячеек, которые должны быть вверху;
    • В крайнем правом выпадающем списке выберите Сверху (On top).

    Сортировка и фильтрация по цвету в Excel

  4. Чтобы добавить ещё один уровень сортировки с такими же настройками, нажмите кнопку Копировать уровень (Copy Level). Затем в столбце Порядок (Order) выберите второй по порядку цвет. Таким же образом создайте столько уровней сортировки, сколько цветов надо отсортировать в таблице.

    Сортировка и фильтрация по цвету в Excel

  5. Нажмите ОК и проверьте в правильном ли порядке расположились строки с данными.

В нашей таблице вверх переместились строки со значением Past Due (столбец Delivery), за ними следуют строки со значениями Due in и в конце – строки со значением Delivered. Все в точности, как мы настроили в диалоговом окне Сортировка (Sort).

Сортировка и фильтрация по цвету в Excel

Совет: Если ячейки раскрашены в большое количество различных цветов – не обязательно создавать правило для каждого. Настройте правила сортировки только для тех цветов, которыми отмечены действительно важные данные (в нашем примере это строки со значением Past Due), а все остальные оставьте как есть.

Сортировка и фильтрация по цвету в Excel

Если требуется отобрать ячейки только одного цвета, то можно воспользоваться ещё более быстрым способом. Кликните по стрелке автофильтра рядом с заголовком столбца, в котором нужно произвести сортировку. В открывшемся меню нажмите Сортировка по цвету (Sort by Color) и выберите, какого цвета ячейки должны оказаться вверху, а какие – внизу. Кстати, выбрав в этом меню пункт Пользовательская сортировка (Custom Sort), как показано на рисунке ниже, можно быстро перейти к диалоговому окну Сортировка (Sort).

Сортировка и фильтрация по цвету в Excel

Сортировка ячеек в Excel по цвету шрифта

Сортировка ячеек в Excel по цвету шрифта выполняется точно так же, как сортировка по цвету заливки. Снова используем инструмент Настраиваемая сортировка (Custom Sort), который находится на вкладке Главная (Home) в меню Сортировка и фильтр (Sort & Filter), но на этот раз в поле Сортировка (Sort On) выбираем Цвет шрифта (Font Color).

Сортировка и фильтрация по цвету в Excel

Если требуется отобрать ячейки с одним определённым цветом шрифта, то можно снова использовать автофильтр Excel:

Сортировка и фильтрация по цвету в Excel

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

Сортировка ячеек по значку

Настроим, для примера, условное форматирование с использованием наборов значков по столбцу Qty., где указано количество заказов (см. рисунок ниже):

Сортировка и фильтрация по цвету в Excel

Как видите, мы отметили крупные заказы (с количеством более 6) красными значками, средние заказы отмечены жёлтыми значками и самые маленькие – зелёными значками. Если нужно расположить самые важные заказы в начале списка, воспользуемся инструментом Настраиваемая сортировка (Custom Sort), как это было описано выше, и настроим сортировку по признаку – Значок ячейки (Cell Icon).

Сортировка и фильтрация по цвету в Excel

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

Сортировка и фильтрация по цвету в Excel

Как в Excel фильтровать ячейки по цвету заливки

Если нужно отфильтровать ячейки в заданном столбце по цвету заливки, используйте инструмент Фильтр по цвету (Filter by Color), доступный в Excel 2010 и 2013.

Сортировка и фильтрация по цвету в Excel

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

  1. Создайте вспомогательный столбец в конце таблицы или рядом со столбцом, в котором будете настраивать фильтр. Мы назовём его Filter by color.
  2. Во вторую ячейку только что добавленного столбца введите формулу:

    =GetCellColor(F2)

    Здесь F – это столбец, содержащий разукрашенные ячейки, и по которому нужно настроить фильтр, а GetCellColor() – пользовательская функция со следующим кодом VBA:

Function GetCellColor(xlRange As Range)
    Dim indRow, indColumn As Long
    Dim arResults()
 
    Application.Volatile
 
    If xlRange Is Nothing Then
        Set xlRange = Application.ThisCell
    End If
 
    If xlRange.Count > 1 Then
      ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
       For indRow = 1 To xlRange.Rows.Count
         For indColumn = 1 To xlRange.Columns.Count
           arResults(indRow, indColumn) = xlRange(indRow, indColumn).Interior.Color
         Next
       Next
     GetCellColor = arResults
    Else
     GetCellColor = xlRange.Interior.Color
    End If
End Function
  1. Скопируйте эту формулу во все ячейки столбца Filter by color.

    Сортировка и фильтрация по цвету в Excel

  2. Примените автофильтр Excel и затем выберите нужные цвета по их кодам в выпадающем меню автофильтра.

    Сортировка и фильтрация по цвету в Excel

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

Сортировка и фильтрация по цвету в Excel

На этом, пожалуй, всё на сегодня, благодарю за внимание!

31.10.2015 14:15
7001

Комментарии

Нет комментариев. Ваш будет первым!