Посчитать ячейки с условным форматированием excel
Как подсчитать и суммировать ячейки на основе цвета фона в Excel?
Предположим, у вас есть диапазон ячеек с разными цветами фона, такими как красный, зеленый, синий и т. Д., Но теперь вам нужно подсчитать, сколько ячеек в этом диапазоне имеют определенный цвет фона, и суммировать цветные ячейки с тем же определенным цветом. . В Excel нет прямой формулы для вычисления суммы и количества цветных ячеек, здесь я расскажу вам о некоторых способах решения этой проблемы.
- Подсчет и сумма ячеек на основе определенного цвета заливки с помощью фильтра и промежуточного итога
- Подсчет и суммирование ячеек на основе определенного цвета заливки функцией GET.CELL
- Подсчет и суммирование ячеек на основе определенного цвета заливки с помощью функции, определяемой пользователем
- Подсчет и сумма ячеек на основе определенного цвета заливки с помощью функций Kutools
- Подсчет и сумма ячеек на основе определенного цвета заливки (или цвета условного форматирования) с помощью Kutools for Excel
Подсчет и сумма цветных ячеек с помощью фильтра и ПРОМЕЖУТОЧНОГО ИТОГА
Предположим, у нас есть таблица продаж фруктов, как показано на скриншоте ниже, и мы посчитаем или просуммируем цветные ячейки в столбце «Сумма». В этой ситуации мы можем отфильтровать столбец Amount по цвету, а затем легко подсчитать или суммировать отфильтрованные цветные ячейки с помощью функции SUBTOTAL в Excel.
1. Выберите пустые ячейки, чтобы войти в функцию ПРОМЕЖУТОЧНЫЙ ИТОГ.
- Чтобы подсчитать все ячейки с одинаковым цветом фона, введите формулу = ПРОМЕЖУТОЧНЫЙ ИТОГ (102; E2: E20);
- Чтобы суммировать все ячейки с одинаковым цветом фона, введите формулу = ПРОМЕЖУТОЧНЫЙ ИТОГ (109; E2: E20);
Внимание: В обеих формулах E2: E20 - это столбец Сумма, содержащий цветные ячейки, и вы можете изменить их по своему усмотрению.
2. Выберите заголовок таблицы и нажмите Данные > Фильтр. Смотрите скриншот:
3. Щелкните значок фильтра в ячейке заголовка столбца Сумма и щелкните Фильтр по цвету и указанного цвета вы будете считать по очереди. Смотрите скриншот:
После фильтрации обе формулы SUBTOTAL подсчитывают и суммируют все отфильтрованные цветные ячейки в столбце Amount автоматически. Смотрите скриншот:
Внимание: Этот метод требует, чтобы цветные ячейки, которые вы будете подсчитывать или суммировать, находятся в одном столбце.
Один щелчок для подсчета, суммирования и усреднения цветных ячеек в Excel
С отличным Считать по цвету особенность Kutools for Excel, вы можете быстро подсчитывать, суммировать и усреднять ячейки по заданному цвету заливки или цвету шрифта всего одним щелчком мыши в Excel. Кроме того, эта функция также будет определять максимальное и минимальное значения ячеек по цвету заливки или цвету шрифта. Полнофункциональная бесплатная 30-дневная пробная версия!
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Подсчет или сумма цветных ячеек с помощью функции GET.CELL
В этом методе мы создадим именованный диапазон с помощью функции GET.CELL, получим цветовой код ячеек, а затем легко посчитаем или суммируем по цветовому коду в Excel. Пожалуйста, сделайте следующее:
1. Нажмите Формулы > Определить имя. Смотрите скриншот:
2. В диалоговом окне «Новое имя» выполните следующие действия:
(1) Введите имя в поле Имя;
(2) Введите формулу = GET.CELL (38; Sheet4! $ E2) в поле "Относится к" (внимание: в формуле, 38 означает возврат кода ячейки, и Sheet4! $ E2 - это первая ячейка в столбце Сумма, за исключением заголовка столбца, который необходимо изменить в зависимости от данных таблицы.)
(3) Щелкните значок OK кнопку.
3. Теперь добавьте новый столбец «Цвет» прямо в исходную таблицу. Затем введите формулу = NumColor , и перетащите маркер автозаполнения, чтобы применить формулу к другим ячейкам в столбце «Цвет». Смотрите скриншот:
Внимание: В формуле NumColor - это именованный диапазон, который мы указали на первых двух шагах. Вам необходимо изменить его на указанное вами имя.
Теперь цветовой код каждой ячейки в столбце «Сумма» возвращается в столбце «Цвет». Смотрите скриншот:
4. Скопируйте и укажите цвет заливки в пустом диапазоне на активном листе и введите формулы рядом с ним, как показано ниже:
A. Чтобы подсчитать ячейки по цвету, введите формулу = СЧЁТЕСЛИ ($ F $ 2: $ F $ 20, NumColor);
Б. Чтобы суммировать ячейки по цвету, введите формулу = СУММЕСЛИ ($ F $ 2: $ F $ 20, NumColor, $ E $ 2: $ E $ 20).
Внимание: В обеих формулах 2 франка: 20 франкских долларов столбец Цвет, NumColor это указанный именованный диапазон, 2 доллара E $: 20 E $ - это столбец суммы, и вы можете изменить их по своему усмотрению.
Теперь вы увидите, что ячейки в столбце «Сумма» подсчитываются и суммируются по цветам заливки.
Подсчет и суммирование ячеек на основе определенного цвета заливки с помощью функции, определяемой пользователем
Предположим, что цветные ячейки разбросаны в диапазоне, как показано на скриншоте ниже, оба вышеуказанных метода не могут подсчитать или суммировать цветные ячейки. Здесь этот метод представит VBA для решения проблемы.
1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.
VBA: подсчет и суммирование ячеек на основе цвета фона:
3. Затем сохраните код и примените следующую формулу:
А. Подсчитайте цветные клетки: = цветовая функция (A; B: C; ЛОЖЬ)
Б. Суммируйте цветные ячейки: = функция цвета (A; B: C; ИСТИНА)
Примечание. В формулах выше A - это ячейка с определенным цветом фона, для которого нужно вычислить количество и сумму, и ДО Н.Э - это диапазон ячеек, в котором вы хотите вычислить количество и сумму.
4. Например, сделайте следующий снимок экрана, введите формулу= цветовая функция (A1; A1: D11; ЛОЖЬ) подсчитать желтые клетки. И воспользуйтесь формулой = цветовая функция (A1; A1: D11; ИСТИНА) суммировать желтые ячейки. Смотрите скриншот:
5. Если вы хотите подсчитать и суммировать другие цветные ячейки, повторите шаг 4. Тогда вы получите следующие результаты:
Подсчет и сумма ячеек на основе определенного цвета заливки с помощью функций Kutools
Kutools for Excel также поддерживает некоторые полезные функции, которые помогают пользователям Excel выполнять специальные вычисления, например, количество по цвету фона ячейки, сумма по цвету шрифта и т. Д.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!
Kutools for Excel - Combines more than 300 Advanced Functions and Tools for Microsoft Excel
1. Выберите пустую ячейку, в которую вы помещаете результаты подсчета, и нажмите Кутулс > Kutools Функции > Статистические и математические > COUNTBYCELLCOLOR. Смотрите скриншот:
2. В диалоговом окне «Аргументы функций» укажите диапазон, в котором будут подсчитываться цветные ячейки в Справка выберите ячейку, заполненную указанным цветом фона в поле Color_index_nr и нажмите OK кнопка. Смотрите скриншот:
Ноты:
(1) Вы также можете ввести указанную функцию Kutools = COUNTBYCELLCOLOR ($ A $ 1: $ E $ 20, G2) непосредственно в пустой ячейке или строке формул, чтобы получить результаты подсчета;
(2) Нажмите Кутулс > Kutools Функции > Статистические и математические > SUMBYCELLCOLOR или типа = SUMBYCELLCOLOR ($ A $ 1: $ E $ 20, G2) в пустой ячейке непосредственно для суммирования ячеек на основе указанного цвета фона.
Применить COUNTBYCELLCOLOR и SUMBYCELLCOLOR функции для каждого цвета фона отдельно, и вы получите результаты, как показано на скриншоте ниже:
Подсчет и сумма ячеек на основе определенного цвета заливки с помощью Kutools for Excel
С помощью указанной выше функции, определяемой пользователем, вам необходимо вводить формулу один за другим, если есть много разных цветов, этот метод будет утомительным и трудоемким. Но если у вас есть Kutools for ExcelАвтора Считать по цвету утилита, вы можете быстро сформировать отчет по цветным ячейкам. Вы можете не только подсчитывать и суммировать цветные ячейки, но также получать среднее, максимальное и минимальное значения цветного диапазона.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!
Kutools for Excel - Combines more than 300 Advanced Functions and Tools for Microsoft Excel
1. Выберите диапазон, который вы хотите использовать, и нажмите Кутулс Плюс > Считать по цвету, см. снимок экрана:
Теперь вы получите новую книгу со статистикой. Смотрите скриншот:
Считать по цвету функция вычисляет ячейки (количество, сумма, среднее, максимальное и т. д.) по цвету фона или цвету шрифта. Получите бесплатную пробную версию!
Связанная статья:
Демонстрация: подсчет и суммирование ячеек на основе фона, цвет условного форматирования:
Помечать ячейки цветом, используя заливку или цвет шрифта, очень удобно и наглядно. Если вы не дальтоник, конечно :) Трудности возникают тогда, когда по такой раскрашенной таблице возникает необходимость сделать отчет. И если фильтровать и сортировать по цвету Excel в последних версиях научился, то суммировать по цвету до сих пор не умеет.
На вкладке Разработчик (Developer) нажмите кнопку Visual Basic или сочетание клавиш Alt + F11 , чтобы открыть редактор макросов. Если такой вкладки у вас не видно, то включите ее в настройках Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) .
В окне редактора вставьте новый модуль через меню Insert - Module и скопируйте туда текст следующих функций:
Как легко сообразить, первая функция здесь вычисляет количество ячеек с заданным цветом заливки, вторая - сумму, а третья - среднее арифметическое. У всех функций два аргумента:
- DataRange - диапазон исходных ячеек с числами, раскрашенных в разные цвета
- ColorSample - ячейка, цвет заливки которой мы берём за образец
Если теперь вернуться в Excel, то в Мастере функций (вкладка Формулы - кнопка Вставить функцию) в появившейся там категории Определенные пользователем (User Defined) можно найти наши функции и вставить их на лист. Либо напрямую ввести их в строку формул, как любые другие функции Excel:
Добавление условий
Аналогичный подход можно легко масштабировать, добавляя, при необходимости, дополнительные условия в проверку (команда if . then. ). Так, например, если нам нужно при вычислении среднего арифметического учитывать не только цвет заливки, но и цвет шрифта (т.е. считать не просто жёлтые, а именно жёлто-красные ячейки), то код нашей макро-функции будет выглядеть так:Разница только в добавленном через логическую связку "И" (and) условии на проверку соответствия цвета шрифта очередной проверяемой ячейки cell.Font.Color цвету шрифта ячейки-образца ColorSample.Font.Color.
Ограничения и нюансы пересчёта
У созданных нами макрофункций есть 2 важных нюанса.
Во-первых, эти функции "не видят" заливку, созданную с помощью условного форматирования, т.е. работают только с цветом, который был задан для ячеек вручную.
Во-вторых, к сожалению, изменение цвета заливки или цвета шрифта ячейки Excel не считает изменением её содержимого, поэтому не запускает пересчет формул. То есть при перекрашивании исходных ячеек с числами в другие цвета итоговая сумма/среднее/количество по нашим функциям автоматически пересчитываться пересчитываться не будет.
Полностью решить эту проблему невозможно, но есть несколько способов её обойти:
- Сделать двойной щелчок левой кнопкой мыши по ячейки с нашей формулой и нажать на Enter , т.е. имитировать повторный ввод функции в ячейку - Excel её заново пересчитает и выдаст обновленный результат.
- Можно использовать сочетание клавиш Ctrl + Alt + F9 , которое принудительно заставит Excel пересчитать всё формулы и функции независимо от того, изменились ли для них исходные данные. Но это сочетание нужно будет не забывать нажимать каждый раз при изменении исходных данных.
- Добавить в код наших макрофункций (в любое место) команду Application.Volatile True. Эта команда языка Visual Basic заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию F9). Однако, в этом случае, скорость работы наших функций заметно снизится, т.к. их пересчёт будет происходить постоянно - даже когда мы не меняли цвета или значения ячеек в исходных данных. Пользуйтесь этим методом осторожно.
И помните о том, что наша функция перебирает все (и пустые тоже) ячейки в диапазоне DataRange и не задавайте в качестве первого аргумента целый столбец - "думать" будет долго :)
Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.
Несколько важных фактов об условном форматировании на основе формул:
- Проверка условия возвращает значения ИСТИНА/ЛОЖЬ и применяется к диапазону ячеек.
- Условие проверяется для каждой ячейки в диапазоне. Если условие выполнено, ячейка получает форматирование. Если условие не выполнено, ячейка не форматируется.
- Для создания условия подходит любая формула, возвращающая значения ИСТИНА/ЛОЖЬ (если формула возвращает число, то любое число, кроме нуля приравнивается к значению ИСТИНА, а значение ноль – ЛОЖЬ).
- Условное форматирование можно использовать, как с обычными формулами, так и с формулами массива.
- Условное форматирование является волатильным (летучим): оно пересчитывается довольно часто, даже, когда вы напрямую не задействуете диапазон, в отношении которого применено условное форматирование (см. главу 13). Это замедляет работу.
Чтобы создать условное форматирование с помощью формул:
Рассмотрим два примера условного форматирования на основе формул массива. Первый пример (рис. 20.1) показывает, как выделить строку, содержащую наименьшее значение для города, введенного в ячейку A11. Выделимте диапазон А3:В8 и откройте диалоговое окно Создание правила форматирования, как описано выше. (Если вы выполняете пример в приложенном файле Excel, у вас откроется окно Изменение правила форматирования, так как правило уже создано). Обратите внимание на смешанную ссылку на ячейку $В3 в формуле. Она позволяет каждой ячейки в диапазоне при поиске минимального значения для города, оставаться в столбце В. Обратите внимание, что формула массива возвращает одно и тоже значение для каждой ячейки в диапазоне. Но только в ячейках А5 и В5 это значение равно проверяемому. Если ячеек много волатильный характер вычислений может замедлить работу. Второй пример (рис. 20.2), обходит эту трудность, используя вспомогательную ячейку.
Рис. 20.1. Формула массива в диалоговом окне Изменение правила форматирования; Чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Цель форматирования (рис. 20.2) – выделить строки с N лучшими результатами гонщика, указанного в ячейке А17. Число N указано в ячейке В17. Формулы массива, вычисляющие второе лучшее время для гонщика, приведены в ячейках D18 и D19 (используйте любую из них). Формула =И($A3=$A$17;$B3<=$D$18) проверяет два условия: равно ли имя гонщика выбранному критерию (в ячейке А17), и входит ли время в два наилучших результата (т.е., меньше или равно значению в D18). Вспомогательная ячейке (D18 или D19) предотвращают многократное повторение расчетов этого времени внутри формулы условного форматирования.
Рис. 20.2. Вспомогательная ячейка избавляет от многократного расчета формулы массива
Ранее я описал, как с помощью пользовательской функции найти сумму значений в ячейках, выделенных цветом. К сожалению, эта функция не работает, если ячейки раскрашены с помощью условного форматирования. Я обещал «доработать» функцию. Но за два года, прошедшие с публикации той заметки, я не смог ни самостоятельно, ни с помощью информации из Интернета написать удобоваримый код… (Дополнение от 29 марта 2017 г. Спустя еще пять лет, код мне всё же удалось написать; см. заключительную часть заметки). И вот недавно я наткнулся на идею, содержащуюся в книге Д.Холи, Р. Холи «Excel 2007. Трюки», которая позволяет обойтись вовсе без кода.
Пусть есть список чисел от 1 до 100, размещенных в диапазоне А1:А100 (рис. 1; см. также лист «СУММЕСЛИ» Excel-файла) [1]. На диапазон наложено условное форматирование, помечающее ячейки, содержащие числа больше 10 и меньше или равно 20.
Рис. 1. Диапазон чисел; условным форматированием выделены ячейки, содержащие значения от 10 до 20
Теперь необходимо сложить значения в ячейках, отвечающих только что установленному критерию. Неважно, какое именно форматирование применяется к этим ячейкам, однако необходимо знать критерий, согласно которому ячейки выделяются.
Чтобы сложить диапазон ячеек, отвечающих одному критерию, можно использовать функцию СУММЕСЛИ (рис. 2).
Рис. 2. Суммирование ячеек, отвечающих одному условию
Если у вас несколько условий, можно использовать функцию СУММЕСЛИМН (рис. 3).
Рис. 3. Суммирование ячеек, отвечающих нескольким условиям
Для подсчета числа ячеек, отвечающих одному критерию, можно использовать функцию СЧЁТЕСЛИ.
Для подсчета числа ячеек, отвечающих нескольким критериям, можно использовать функцию СЧЁТЕСЛИМН.
В Excel предусмотрена еще одна функция, которая позволяет указать несколько условий. Эта функция входит в набор функций баз данных Excel и называется БДСУММ. Чтобы проверить ее, используйте тот же набор чисел в диапазоне А2:А100 (рис. 4; см. также лист «БДСУММ» Excel-файла).
Рис. 4. Использование функций баз данных
Выделите ячейки C1:D2 и присвойте этому диапазону имя Критерий, введя его в поле имени слева от строки формул. Теперь выделите ячейку С1 и введите =$А$1, то есть ссылку на первую ячейку на листе, содержащую имя базы данных. Введите =$А$1 в ячейку D1 и вы получите две копии заголовка столбца А. Эти копии будут использоваться как заголовки для условий БДСУММ (C1:D2), который вы назвали Критерий. В ячейке С2 введите >10. В ячейке D2 введите
Для подсчета числа ячеек, отвечающих нескольким критериям, можно использовать функцию БСЧЁТ.
Дополнение от 29 марта 2017 г.
Привет
Допустим у меня есть колонка, где я условным форматированием обозначаю все ячейки такой-то даты зеленым цветом.
Как мне внизу вывести кол-во таких ячеек?
- Вопрос задан более трёх лет назад
- 1062 просмотра
Привет
Если именно так решать задачу, то без скрипта не обойтись — забирать цвет ячеек в массив и считать кол-во элементов нужного цвета.
Но почему нельзя повторить логику условного форматирования в формуле с COUNTIF?
Можете дать пример файла?
Вот пример. В нужной ячейке выделяется зеленым кто сдал протоколы до 12 ночи(то есть не хитрили, и не ждали чтобы получить оплату за двое суток работы), и кто сдал после часу ночи - то есть сигнал что были проблемы на участке с протоколом и стоит на них обратить внимание почему пришлось создавать уточняющий протокол.
Мне надо чтобы внизу автоматически считало кол-во зеленых и красных ячеек.
Смотрим на дату - 22 число
Смотрим на время - больше либо равно 1
Ну и для тех, кто сдал до 22 числа
JohnnyBravo7, а, типа Вы предлагаете просто не привязываться к условному форматированию, а по дате? По сути я примерно так и сделал(я ж и так из уже раскрасил условным форматированием по этим признакам), но хотел(даже хотя бы для развития) понять как считать такие условно форматированные ячейки. К примеру, по всему листу у меня есть ячейки с красным текстом, где по тем или иным призназнакам можно подозревать проблему - как такие ячейки посчитать все автоматически? Там же статистика разная применяется, там так, а сям иначе. Потом увидеть число сколько всего у меня было "под вопросом" ячеек.
lukoie, никак без макросов.
Поэтому логичнее поступать иначе: создавать отдельные столбцы, в которые заносить формулы критериев, а их уже как считать через count\countif\countifs, так и использовать для условного форматирования.
Дополнительный бонус: интерфейс подсистемы условного форматирования excel дико устарел и крайне неудобен в работе, сложные правила там смотреть\менять нелегко, когда логика вынесена в саму таблицу, а форматирование только по ее результатам - работать гораздо удобнее
lukoie,
да, такое можно только с помощью скрипта сделать.
Пробежаться по всем ячейкам в столбце, взять цвет фона, посчитать количество, вывести сумму.
Что-то типа такого
нашел еще такой вариант:
в гуглотаблицах в Дополнениях есть Custom Count and Sum
Под нужным столбцом пишем:
=COUNTBACKGROUNDCOLOR("AF3:AF102"; "AF3")
Где AF3:AF102 это диапазон ячеек
а AF3 это ячейка с цветом, который нас интересует
Читайте также: