Как создать и использовать функцию ColorFunction в Excel

  • Поделись Этим
Hugh West

В Excel нет функции, позволяющей производить вычисления на основе цвета ячеек. Но с помощью функции Microsoft Visual Basic for Applications (VBA) можно сделать пользовательские функции для вычисления на основе цвета ячеек. В этой статье я покажу вам, как можно создать и использовать ColorFunction в Excel.

Допустим, у нас есть набор данных о заказах продукции компании. Столбец Количество заказов Доставленные заказы окрашиваются в светло-зеленый цвет, а заказы, находящиеся в процессе доставки - в светло-оранжевый. Теперь мы можем найти количество клиентов, которые получили или не получили свои заказы, подсчитав те же цветные ячейки. Общее количество доставленных или находящихся в процессе доставки заказов можно найти, сложив те же цветные ячейки.

Скачать Рабочую тетрадь для практических занятий

Цветовая функция в Excel.xlsm

Функция цвета в Excel

Шаг 1 : Открытие макромодуля в окне VBA

Сначала необходимо открыть VBA окно, нажав ALT+F11. После этого щелкните правой кнопкой мыши на имени листа на левой панели и перейдите к пункту Вставка> Модуль

В результате Модуль ящик будет открыт.

Шаг 2 : Вставка кода VBA для создания функции ColorFunction

Вставьте следующий код в Модуль и закройте VBA окно.

 Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 +vResult End If Next rCell End If ColorFunction = vResult End Function 

Здесь код VBA создает пользовательскую функцию с именем ЦветФункция который будет считать цветные ячейки, если мы зададим аргумент в виде FALSE и будет суммировать цветные ячейки, если мы дадим аргумент в виде TRUE.

Шаг 3 : Сохранение рабочей книги как рабочей книги с поддержкой макросов Excel

Вы должны сохранить рабочую книгу Excel в .xlsm формат для сохранения вашей пользовательской функции. Сначала перейдите в раздел Файл в левом верхнем углу окна Excel.

После этого выберите Сохранить как.

Затем выберите Рабочая книга Excel с поддержкой макросов (*xlsm) и нажмите на Сохранить.

Шаг 4 : Использование функции ColorFunction для подсчета цветных ячеек

Теперь вы можете использовать свои пользовательские ЦветФункция.

Чтобы получить количество светло-зеленых ячеек, введите в пустую ячейку следующую формулу,

=ColorFunction(F5,$D$5:$D$11,FALSE)

Вот, F5 = Критериальная ячейка, цвет которой будет учитываться

$D$5:$D$11 = Диапазон для подсчета

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

Нажмите ENTER и вы получите количество светло-зеленых клеток.

Аналогичным образом можно получить подсчет для светло-оранжевых клеток.

Шаг 5 : Использование функции ColorFunction для суммирования цветных ячеек

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

=ColorFunction(F5,$D$5:$D$11,TRUE)

Вот, F5 = Ячейка критерия, цвет которой будет суммироваться

$D$5:$D$11 = Диапазон для суммы

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

вы получите сумму светло-зеленых клеток, нажав кнопку ENTER.

Аналогичным образом можно получить сумму светло-оранжевых ячеек.

Альтернативные способы подсчета и суммирования цветных клеток

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

1. использование функций ФИЛЬТР и СУБТОТАЛ

Вы можете получить количество и сумму цветных ячеек с помощью функции Фильтр и функция СУММЕСЛИ .

Сначала зайдите в Данные вкладку и нажмите на Фильтр.

После этого рядом с заголовком каждого столбца появится стрелка вниз. Нажмите на стрелку вниз рядом со столбцом Количество заказов (Цветная колонка), перейдите к Фильтр по цвету , и выберите светло-зеленый цвет.

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

= ПРОМЕЖУТОЧНЫЙ ИТОГ(2,D5:D11)

Здесь 2 указывает на то, что клетка будет подсчитана и D5:D11 это диапазон данных.

После нажатия ENTER вы получите количество клеток светло-зеленого цвета.

Чтобы получить сумму цветных ячеек, введите следующую формулу,

= ПРОМЕЖУТОЧНЫЙ ИТОГ(9,D5:D11)

Здесь 9 указывает на то, что ячейка будет суммироваться и D5:D11 диапазон данных

После нажатия ENTER вы получите сумму клеток светло-зеленого цвета.

Изменив фильтр на светло-оранжевый цвет, можно получить количество и сумму клеток, окрашенных в оранжевый цвет.

2. Использование функции GET.CELL

С помощью ПОЛУЧИТЬ.ЦЕЛЛ Вы также можете подсчитывать и суммировать цветные ячейки.

Сначала зайдите в Формулы вкладку и выберите Определить имя.

A Новое имя появится окно. Введите имя, например Цвет в Имя Вставка. и Вставьте формулу в Относится к поле и нажмите OK.

=GET.CELL(38,'GET CELL'!$D5)

Здесь 38 указывает на то, что формула будет выдавать код цвета упомянутой ячейки, а 'GET CELL'!$D5 ссылающаяся ячейка (первая ячейка после заголовка столбца цветного столбца)

Теперь наберите = Цвет (Имя, указанное вами ранее в Определить имена поле) в соседнем столбце вашей цветной колонки.

После нажатия ENTER и перетащить ячейку E5 до конца вашего набора данных, вы получите цветовые коды всех ваших цветных ячеек столбца E .

Теперь введите следующую формулу, чтобы получить количество ячеек светло-зеленого цвета

=COUNTIF($E$5:$E$11,50)

Вот, $E$5:$E$11 это диапазон для подсчета, а 50 - цветовой код светло-зеленого цвета.

После нажатия Войти вы получите количество клеток, окрашенных в зеленый цвет.

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

=SUMIF(E5:E11,50,D5:D11)

Вот, E5:E11 это диапазон критериев, 50 обозначает цветовой код светло-зеленого и D5:D11 это диапазон сумм.

Нажмите ENTER и вы получите сумму всех клеток, окрашенных в зеленый цвет.

Аналогичным образом можно получить количество и сумму клеток, окрашенных в светло-оранжевый цвет.

Заключение

Надеюсь, что после прочтения статьи вы сможете создать и использовать ColorFunction в Excel. Если у вас возникнут какие-либо проблемы, пожалуйста, оставьте комментарий.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.