Фильтр по цвету в excel

Фильтр по цвету в Excel

Фильтр по цвету в Excel

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

Имеем таблицу в которой уже включён фильтр (вкладка «Главная», блок кнопок «Редактирование», кнопка «Сортировка и фильтр», пункт «Фильтр»). Также строки залиты разными цветами.

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

Для того, чтобы отфильтровать данные в нашей таблице по цвету:

  • щёлкнем треугольник у второго столбца «Выручка»;
  • в выпавшем списке выберем «Фильтр по цвету»;
  • укажем цвет, данные которого нужно отобразить.

Отобразятся только ячейки таблицы с бледно-зелёной заливкой.

Нужно быть внимательным, так как при использовании цветов есть ещё один очень похожий параметр — «Сортировка по цвету». То есть перестановка данных в таблице согласно условию без их сокрытия.

Если выбрать сортировку по бледно-зелёному цвету, то картина будет другой.

Сначала отображаются зелёные ячейки, потом все остальные в произвольном порядке. Минус только один — сразу нельзя отсортировать по нескольким цветам.

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

Снова открываем список настроек сортировки и фильтрации и выбираем пункт «Пользовательская сортировка».

На снимке выше уже готовый порядок отображения. Если нужно что-либо добавить:

  • жмём «Добавить уровень»;
  • добавляем условие сортировки (у нас это Магазин, Выручка, Управляющий);
  • указываем признак сортировки (Цвет ячейки, Значения, Цвет шрифта, Значок ячейки);
  • задаём порядок отображения (какой сначала цвет, затем следующий и т.д.);
  • располагаем цвет уровня в нужномместе (сверху или снизу).

Удалить строку настройки сортировки можно кнопкой «Удалить уровень». В итоге получим то, что нужно!

Аналогично можно поступить и с цветом текста (шрифта). Поставим магазину «Восход» цвет текста синий. И настроим отображение именно по цвету текста (шрифта).

Вот и всё. Всем удачи! Если остались вопросы — пишите комментарии или через форму обратно связи!

Фильтр и сортировка ячеек по цвету в Excel

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

Читать еще:  Онлайн работа в эксель

Для начала вспомним, в чем же польза от сортировки и фильтрации данных в Excel, и зачем она вообще нужна?

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

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

В общем случае в Excel можно сортировать по алфавиту (для текста), по возрастанию или убыванию (для чисел), однако давайте познакомимся с еще одним вариантом сортировки — по цвету, и рассмотрим 2 способа, позволяющие сортировать и применять фильтр к данным:

  • Автофильтр и инструмент «Настраиваемая сортировка» (доступен начиная с версии Excel 2007);
  • Применение пользовательских функций.

Стандартный фильтр и сортировка по цвету в Excel

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


Добавим фильтр к диапазону с таблицей (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или воспользуемся сочетанием клавиш Ctrl + Shift + L), далее щелкаем по стрелке в заголовке столбца и в выпадающем списке можем выбрать любой вариант сортировки или фильтрации:


Из недостатков данного способа фильтрации можно отметить невозможность отфильтровать диапазон по нескольким цветам.

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

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


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

Читать еще:  Убрать пробел в начале ячейки в excel


Аналогичного результата также можно добиться отсортировав данные с помощью инструмента Настраиваемая сортировка (также выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр), где можно настроить различные дополнительные параметры и уровни сортировки:

Сортировка и фильтр по цвету с помощью функций

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

Функция цвета заливки ячейки на VBA

Для создания пользовательских функций перейдем в редактор Visual Basic (комбинация клавиш Alt + F11), создадим новый модуль и добавим туда код следующей функции:

Фильтрация по цвету шрифта, цвету ячеек или наборам значков

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Важно: Часть содержимого этого раздела может быть неприменима к некоторым языкам.

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

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

На вкладке Данные нажмите кнопку Фильтр.

Щелкните стрелку в столбце с содержимым, которое нужно отфильтровать.

В разделе Фильтр во всплывающем меню По цвету щелкните Цвет ячейки, Цвет шрифта или Значок ячейки и выберите условия.

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

На панели инструментов Стандартная нажмите кнопку Фильтр .

Щелкните стрелку в столбце с содержимым, которое нужно отфильтровать.

В разделе Фильтр во всплывающем меню По цвету щелкните Цвет ячейки, Цвет шрифта или Значок ячейки и выберите цвет.

Читать еще:  Заменить символ в эксель

Сортировка диапазона по цвету

Способ 1. Если у вас Excel 2007 или новее.

Тут все просто. Начиная с 2007-й версии в Excel добавили сортировку и фильтрацию по цвету заливки и по цвету шрифта как штатную функцию. Проще всего до них добраться через стандартный автофильтр:

Из минусов только невозможность фильтровать сразу по нескольким цветам.

Способ 2. Если у вас Excel 2003 или старше.

Версии Microsoft Excel до 2007 года в своем исходном состоянии не умели сортировать ячейки по формату, что, безусловно, является серьезным недостатком, если Вы используете цветовые кодировки в своих таблицах (а это бывает удобно). Поэтому давайте исправим досадное упущение — напишем на VBA простую пользовательскую функцию ColorIndex, которая будет выводить числовой код цвета заливки любой заданной ячейки. По этому коду мы и будем далее сортировать.

Для этого откройте редактор Visual Basic через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor) , вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст простой функции:

Теперь можно закрыть редактор Visual Basic, вернуться в Excel и, выделив любую пустую ячейку, вызвать созданную функцию ColorIndex через меню Вставка — Функция — категория Определенные пользователем (Insert — Function — User defined) . В качестве аргумента укажите ячейку, цвет заливки которой хотите получить в виде цифрового кода.

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

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

Наша функция ColorIndex, к сожалению, имеет пару недостатков:

  • С ее помощью нельзя получить цвет, который ячейка имеет при использовании условного форматирования
  • Она не пересчитывается автоматически при изменении цвета одной из ячеек, поскольку Excel не считает изменение цвета редактированием содержимого ячейки и не запускает автоматического пересчета листа. Это нужно сделать самому, нажав Ctrl+Alt+F9, либо дописав к нашей функции в каждой ячейке вот такую добавку:
    =ColorIndex(A2)+СЕГОДНЯ()*0
    чтобы содержимое ячейка пересчитывалась автоматически при каждом пересчете листа.

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector