Excel сумма по цвету

Excel сумма по цвету

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

Начнём немного издалека - в Excel есть несколько "цветов", нас будут интересовать цвет фона (заливки) ячейки и цвет шрифта в ячейке. Но как их узнать? Для человека всё просто, а вот для программы не совсем. 

Начиная, если не изменяет память, с версии Excel 2007 основной метод заливки - назначение кода цвета от 0 до 16777215, то есть всего может быть шестнадцать миллионов семьсот семьдесят семь тысяч двести шестнадцать цветов. Неплохо. 

Если кому-то интересно - можно почитать официальную документацию ДОКА.

 

Цвет фона (заливки)

Последуем по пути наименьшего сопротивления. Имеется таблица вида.

excel сумма по цвету

 

Как видно из образца - имеется цвет фона ячеек жёлтый (A2, A10, A14). Пока нас интересовать будут именно эти ячейки.

Визуально цвет определён, осталось найти его код. Создадим для этого небольшую функцию. На вкладке "Разработчик" вставляем новый модуль (мы рассматривали этот процесс много раз, так что ссылок приводить не буду).

Public Function get_interior_color(cell As Range)
get_interior_color = cell.Interior.Color
End Function

Она будет определять цвет фона нашей ячейки и преобразовывать его в код цвета.

Проверяем.

 

excel сумма по цвету

 

Мы получили цвет фона ячейки. Теперь воспользуемся функцией СУММЕСЛИМН для суммирования по цвету ячеек в Excel. Предварительно вынесем как условие результат нахождения кода цвета.

 

excel сумма по цвету

 

Вот и всё. Мы произвели суммирование по цвету заливки (фона) нашей ячейки. Соответственно, сумма выделенных цветом ячеек в столбце Excel будет располагаться в ячейке E2.

 

Цвет шрифта (текста)

Цвет текста (стандартный) всегда будет составляться из RGB цветов (смешении красного, зелёного и голубого) или используя свойства объекта Font в VBA (vbcolor).

excel сумма по цвету ячеек

 

Цвет текста RGB может выставляться тремя парами цифр RGB(255,255,0), то есть устанавливаем значение красного цвета 255, зелёного 255, синего 0. Получаем жёлтый.

Если интересно можно посмотреть тут что будет получаться в итоге.

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

 

Public Function get_font_color(cell As Range)
get_font_color = cell.Font.Color
End Function

 

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

 

excel сумма по цвету ячеек

 

Готово! Теперь в Excel сумма по цвету ячеек будет выводиться ровно в тех ячейках, которых захотите! 

Вам может понравиться предыдущая статья о запросах в Power BI.

 

Автор записи: Иван

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.