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

Синтаксис
- cell — ячейка, для которой нужно определить код цвета заливки
Примечания
К сожалению, поскольку Excel формально не считает смену цвета изменением содержимого листа, то эта функция не будет пересчитываться автоматически при изменении форматирования — обновление значений этой функции происходит только при нажатии сочетания клавиш полного пересчета листа Ctrl+Alt+F9.
Также (в силу ограничений самого Excel), данная функция не может считывать код цвета, если было использовано условное форматирование.
Если для ячейки не установлен цвет заливки, то код = -4142.
Если нужен RGB-код цвета, то используйте функцию RGBCellColor.
Если нужен код цвета не заливки, а шрифта, то используйте функцию CellFontColor.
Как определить цвет заливки ячейки
К сожалению, Excel не содержит встроенной формулы, которая определяет код заливки ячейки. Но сделать это возможно установив пользовательскую функцию.
Описание работы функции
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
- ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.
Ниже представлен пример, демонстрирующий работу функции.

Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Пример использования
Так как заливка ячеек значительно упрощает восприятие данных, то пользоваться ей любят практически все пользователи. Однако есть и большой минус — в стандартном функционале Excel отсутствует возможность выполнять операции на основе цвета заливки. Нельзя просуммировать ячейки определенного цвета, посчитать их количество, найти максимальное и так далее.
С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.
Код на VBA
Public Function ЦВЕТЗАЛИВКИ(ЯЧЕЙКА As Range) As Double ЦВЕТЗАЛИВКИ = ЯЧЕЙКА.Interior.Color End Function

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

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

- В диапазоне ячеек или столбце таблицы щелкните ячейку с определенным цветом, цветом шрифта или значком, по которому вы хотите выполнить фильтрацию.
- На панели инструментов Стандартная нажмите кнопку Фильтр .
- Щелкните стрелку в столбце с содержимым, которое нужно отфильтровать.
- В разделе Фильтр во всплывающем меню По цвету щелкните Цвет ячейки, Цвет шрифта или Значок ячейки и выберите цвет.
Цвет_Заливки
Функция возвращает числовой код заливки указанной ячейки. Для чего может пригодиться? Каждый может придумать свое применение. Может быть понадобится суммировать ячейки по цвету по нескольким критериям, для сортировки ячеек по цвету и т.п.
Вызов команды через стандартный диалог:
Мастер функций—Категория «MulTEx»— Цвет_Заливки
Вызов с панели MulTEx:
Сумма/Поиск/Функции — Форматирование — Цвет_Заливки
Синтаксис:
=Цвет_Заливки( D1 )
Ячейка( D1 ) — Ячейка, код цвета заливки которой необходимо узнать. Если указан диапазон ячеек, но функция введена в одну ячейку, то будет возвращен цвет заливки для левой верхней ячейки указанного диапазона.
Функция может быть использована как формула массива
Индекс() — Необязательный аргумент. Определяет тип вывода числового кода. 0 — числовой код цвета из 16-миллионной палитры. 1 — числовой индекс цвета из 56 цветов. По умолчанию 0.
Важно: Функция не вычисляется при изменении цвета шрифта. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2—Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).
Примечание: данная функция не учитывает ячейки, к которым применено Условное Форматирование. Будет определен тот цвет заливки, который установлен стандартными средствами.
Расскажи друзьям, если статья оказалась полезной:
Видеоинструкции по использованию надстройки MulTEx
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум
