Как определить цвет заливки ячейки
К сожалению, Excel не содержит встроенной формулы, которая определяет код заливки ячейки. Но сделать это возможно установив пользовательскую функцию.
Описание работы функции
Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:
- ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Пример использования
Так как заливка ячеек значительно упрощает восприятие данных, то пользоваться ей любят практически все пользователи. Однако есть и большой минус — в стандартном функционале Excel отсутствует возможность выполнять операции на основе цвета заливки. Нельзя просуммировать ячейки определенного цвета, посчитать их количество, найти максимальное и так далее.
С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.
Код на VBA
Public Function ЦВЕТЗАЛИВКИ(ЯЧЕЙКА As Range) As Double ЦВЕТЗАЛИВКИ = ЯЧЕЙКА.Interior.Color End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Код RGB заливки ячейки Excel
Excel не содержит встроенной формулы, которая определяет шестнадцатеричный RGB код заливки ячейки. Данная функция реализует это.
Описание работы функции
Функция =ЦВЕТЗАЛИВКИRGB(ЯЧЕЙКА) возвращает шестнадцатеричный код RGB цвета заливки указанной ячейки. Функция имеет 1 аргумент:
ЯЧЕЙКА — ссылка на ячейку для определения ее кода заливки.
Зачем это нужно? С помощью данной функции, мы можете быстро сортировать ячейки с определенным цветом, подсчитывать их количество. К примеру, можно создать отдельный столбец и протянуть в нем данную функцию, для того, чтобы по этому столбцу быстро отсортировать строки с различной заливкой. Можно создать сводную таблицу, в которой будет вестись подсчет ячеек с заданной заливкой.
Ниже представлен пример, демонстрирующий работу функции.
Код на VBA
Public Function ЦВЕТЗАЛИВКИRGB(ЯЧЕЙКА As Range) As String Dim Red As Integer Dim Blue As Integer Dim Green As Integer Dim col As Double Application.Volatile col = ЯЧЕЙКА.Interior.Color Red = col 256 ^ 0 And 255 Green = col 256 ^ 1 And 255 Blue = col 256 ^ 2 And 255 ЦВЕТЗАЛИВКИRGB = "#" & Format(Hex(Red), "00") & Format(Hex(Green), "00") & Format(Hex(Blue), "00") End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
Цвет_Заливки
Функция возвращает числовой код заливки указанной ячейки. Для чего может пригодиться? Каждый может придумать свое применение. Может быть понадобится суммировать ячейки по цвету по нескольким критериям, для сортировки ячеек по цвету и т.п.
Вызов команды через стандартный диалог:
Мастер функций—Категория «MulTEx»— Цвет_Заливки
Вызов с панели MulTEx:
Сумма/Поиск/Функции — Форматирование — Цвет_Заливки
Синтаксис:
=Цвет_Заливки( D1 )
Ячейка( D1 ) — Ячейка, код цвета заливки которой необходимо узнать. Если указан диапазон ячеек, но функция введена в одну ячейку, то будет возвращен цвет заливки для левой верхней ячейки указанного диапазона.
Функция может быть использована как формула массива
Индекс() — Необязательный аргумент. Определяет тип вывода числового кода. 0 — числовой код цвета из 16-миллионной палитры. 1 — числовой индекс цвета из 56 цветов. По умолчанию 0.
Важно: Функция не вычисляется при изменении цвета шрифта. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2—Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).
Примечание: данная функция не учитывает ячейки, к которым применено Условное Форматирование. Будет определен тот цвет заливки, который установлен стандартными средствами.
Расскажи друзьям, если статья оказалась полезной:
Видеоинструкции по использованию надстройки MulTEx
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум
ЯЧЕЙКА (функция ЯЧЕЙКА)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel Starter 2010 Еще. Меньше
ЯЧЕЙКА Функция возвращает сведения о форматировании, расположении или содержимом ячейки. Например, если перед выполнением вычислений с ячейкой необходимо удостовериться в том, что она содержит числовое значение, а не текст, можно использовать следующую формулу:
=ЕСЛИ(ЯЧЕЙКА(«тип»;A1)=»v»;A1*2;0)
Эта формула вычисляет произведение A1*2, только если в ячейке A1 содержится числовое значение, и возвращает значение 0, если в ячейке A1 содержится текст или она пустая.
Примечание: Формулы, использующие функцию ЯЧЕЙКА, имеют значения аргументов для конкретного языка и возвращают ошибки при вычислениях с использованием другой языковой версии Excel. Например, если при создании формулы, содержащей ячейку, при использовании чешской версии Excel эта формула возвращает ошибку, если книга открыта во французском языке. Если важно, чтобы другие люди открывали вашу книгу с помощью разных языковых версий Excel, рассмотрите возможность использования альтернативных функций или разрешение на сохранение локальных копий, в которых они меняют аргументы ЯЧЕЙКА в зависимости от языка.
Синтаксис
ЯЧЕЙКА(тип_сведений;[ссылка])
Аргументы функции ЯЧЕЙКА описаны ниже.
Тип_сведений
Текстовое значение, задающее тип сведений о ячейке при возвращении. В приведенном ниже списке указаны возможные значения аргумента «тип_сведений» и соответствующие результаты.
Ячейка, сведения о которой требуется получить.
Если этот аргумент опущен, сведения, указанные в аргументе info_type, возвращаются для ячейки, выбранной на момент вычисления. Если аргумент «ссылка» является диапазоном ячеек, функция ЯЧЕЙКА возвращает сведения об активной ячейке в выбранном диапазоне.
Важно: Технические ссылки необязательны, но рекомендуется их включит в формулу, если вы не понимаете, как это влияет на результат формулы, и не хотите, чтобы они были на месте. Опущенный аргумент ссылки не является надежной информацией о конкретной ячейке по следующим причинам:
- В режиме автоматического вычисления при внесении пользователем изменений в ячейку вычисление может запускаться до или после выполнения выделения в зависимости от платформы, используемой для Excel. Например, Excel для Windows активирует вычисление перед изменением выделения,Excel в Интернете запускает его после этого.
- Когда Co-Authoring с другим пользователем, который вносит изменения, эта функция сообщает о вашей активной ячейке, а не редакторе.
- Любой пересчет, например нажатие F9, приведет к тому, что функция возвращает новый результат, даже если изменение ячейки не было изменено.
info_type значения
В следующем списке описаны текстовые значения, которые можно использовать info_type аргумента. Эти значения должны быть введены в функцию ЯЧЕЙКА с кавычками (» «).
Тип_сведений
Возвращаемое значение
Ссылка на первую ячейку в аргументе «ссылка» в виде текстовой строки.
Номер столбца ячейки в аргументе «ссылка».
1, если форматированием ячейки предусмотрено изменение цвета для отрицательных значений; во всех остальных случаях — 0 (ноль).
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
Значение левой верхней ячейки в ссылке; не формула.
Имя файла (включая полный путь), содержащего ссылку, в виде текстовой строки. Если лист, содержащий ссылку, еще не был сохранен, возвращается пустая строка («»).
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
Текстовое значение, соответствующее числовому формату ячейки. Значения для различных форматов показаны ниже в таблице. Если ячейка изменяет цвет при выводе отрицательных значений, в конце текстового значения добавляется «-«. Если положительные или все числа отображаются в круглых скобках, в конце текстового значения добавляется «()».
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
1, если форматированием ячейки предусмотрено отображение положительных или всех чисел в круглых скобках; во всех остальных случаях — 0.
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
Текстовое значение, соответствующее префиксу метки ячейки. Одиночная кавычка (‘) соответствует тексту, выровненному влево, двойная кавычка («) — тексту, выровненному вправо, знак крышки (^) — тексту, выровненному по центру, обратная косая черта (\) — тексту, распределенному по всей ширине ячейки, а пустой текст («») — любому другому содержимому ячейки.
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
0, если ячейка разблокирована, и 1, если ячейка заблокирована.
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
Номер строки ячейки в аргументе «ссылка».
Текстовое значение, соответствующее типу данных в ячейке. Значение «b» соответствует пустой ячейке, «l» — текстовой константе в ячейке, «v» — любому другому содержимому.
Возвращает массив с 2 элементами.
Первый элемент массива — это ширина столбца ячейки, округленная до целого. Единица измерения равна ширине одного знака для шрифта стандартного размера.
Второй элемент массива имеет значение Boolean, значение true, если ширина столбца является значением по умолчанию, или FALSE, если ширина явно задана пользователем.
Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.
Коды форматов функции ЯЧЕЙКА
В приведенном ниже списке описаны текстовые значения, возвращаемые функцией ЯЧЕЙКА, если в качестве аргумента «тип_сведений» указано значение «формат», а аргумент ссылки указывает на ячейку, отформатированную с использованием встроенного числового формата.
Формат Microsoft Excel
Значение, возвращаемое функцией ЯЧЕЙКА