Пользовательские функции Google Sheets для подсчета цветных ячеек: CELLCOLOR & VALUESBYCOLORALL

  • Поделись Этим
Michael Brown

В этом уроке представлены 2 новые функции из нашего дополнения Function by Color для Google Sheets: CELLCOLOR & VALUESBYCOLORALL. Используйте их для суммирования & подсчета ячеек не только по их цветам, но и по общему содержимому. Готовые формулы SUMIFS & COUNTIFS включены ;)

Если вы часто работаете с цветными ячейками в Google Sheets, вы, вероятно, уже попробовали наше дополнение Function by Color. Мало кто знает, что теперь у него есть еще 2 функции, которые еще больше расширяют возможности работы с цветными ячейками: CELLCOLOR и ЗНАЧЕНИЯ ПО ЦВЕТУ В этом уроке я познакомлю вас с обеими функциями и предоставлю несколько готовых формул.

    Сумма и подсчет цветных ячеек с помощью Функции по цвету

    Прежде чем мы рассмотрим 2 новые пользовательские функции, я хотел бы кратко описать дополнение Function by Color, если вы с ним не знакомы.

    Это дополнение для Google Sheets проверяет шрифт и/или цвет заливки в выбранных ячейках и:

    • суммирует числа с общим оттенком
    • считает цветные клетки и даже пустые
    • находит средние/минимальные/максимальные значения среди выделенных ячеек
    • и многое другое

    Всего существует 13 функций для расчета ваших цветных клеток.

    Вот как это работает:

    1. Вы выбираете диапазон для обработки.
    2. Выберите шрифт и/или оттенки заливки, которые вы хотите рассмотреть, и подберите функцию в соответствии с вашей задачей.
    3. Выберите расчет записей в каждой строке/столбце или во всем диапазоне.
    4. Выберите ячейку(и), где вы хотите увидеть результат.
    5. Хит Функция вставки .

    Например, здесь в каждом ряду я суммирую все товары, которые находятся "в пути" - с синим фоном:

    =SUM(VALUESBYCOLOR("светло-васильковый синий 3", "", B2:E2))

    Совет. Подробное руководство по работе с дополнением доступно здесь, а запись в блоге с примерами - здесь.

    Как вы можете видеть, дополнение использует стандартную функцию SUM вместе со специальной функцией внутри: VALUESBYCOLOR.

    Функция VALUESBYCOLOR

    VALUESBYCOLOR - это наша пользовательская функция.

    Примечание. Вы не найдете его в электронных таблицах без дополнения.

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

    =VALUESBYCOLOR("светло-васильковый синий 3", "", B2:E2)

    Видите? Он получает только те записи для каждого поставляемого элемента сверху, которые окрашены в соответствии с моими настройками. И эти числа вычисляются одной из тех стандартных функций, которые я выбрал в инструменте: SUM.

    Довольно круто, да? ;)

    В дополнении было одно упущение. Эта формула не могла использоваться в SUMIFS и COUNTIFS, поэтому вы не могли одновременно считать по нескольким условиям, таким как общий оттенок и содержимое ячеек. И нас часто спрашивали об этом!

    Я рад сообщить вам, что в последнем обновлении (октябрь 2021 года) мы сделали это возможным! Теперь Function by Color содержит еще 2 пользовательские функции, которые помогут вам в этом :)

    Дополнительные функции Функции по цвету

    Две новые функции, которые мы реализовали, называются VALUESBYCOLORALL и CELLCOLOR. Давайте посмотрим, какие аргументы они требуют и как вы можете использовать их с вашими данными.

    Примечание. Поскольку функции являются пользовательскими, они являются частью нашего дополнения Function by Color. Вам необходимо установить это дополнение. В противном случае вы не сможете использовать функции, и результат, который они возвращают, будет потерян.

    Совет. Посмотрите это видео или продолжите чтение. Или сделайте и то, и другое для лучшего понимания ;) В конце статьи в блоге есть даже таблица для практики ;)

    ЗНАЧЕНИЯ ПО ЦВЕТУ

    Эта пользовательская функция требует 3 аргумента:

    VALUESBYCOLORALL(fill_color, font_color, range)
    • цвет_заливки - RGB-код или название цвета (согласно палитре цветов Google Sheets) для цвета фона.

      Совет. Хотя аргумент является обязательным, вы можете полностью заставить функцию игнорировать цвет заливки, введя только пару двойных кавычек: "".

    • цвет шрифта - RGB-код или название цвета (согласно палитре цветов Google Sheets) для цвета текста.

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

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

    Вы заметили, что VALUESBYCOLORALL можно легко перепутать с функцией VALUESBYCOLOR, используемой дополнением? Будьте осторожны, так как разница огромна. Посмотрите на этот снимок экрана:

    Формулы написаны в B2 & C2, но вы можете посмотреть, как они выглядят в B8 & C8 соответственно:

    =VALUESBYCOLOR("светло-зеленый 3", "", A2:A7)

    и

    =VALUESBYCOLORALL("светло-зеленый 3", "", A2:A7)

    Совет. Названия цветов взяты из палитры Google Sheets:

    Эти две функции имеют одинаковые аргументы, и даже их названия так похожи!

    Тем не менее, они возвращают разные наборы данных:

    • VALUESBYCOLOR возвращает список только тех записей, которые отображаются с зеленым цветом заливки в столбце A. Результат этой формулы занимает только 3 ячейки: B2:B4.
    • VALUESBYCOLORALL, в свою очередь, возвращает диапазон того же размера, что и исходный (6 ячеек) - C2:C7. Но ячейки в этом диапазоне содержат записи только в том случае, если соответствующая ячейка в столбце A имеет требуемый цвет заливки. Остальные ячейки остаются пустыми.

    Хотя вам это может показаться одинаковым, в сочетании с другими функциями это имеет огромное значение. И это именно то, что позволяет вам проверять цвета вместе с содержимым ячеек с помощью таких функций, как COUNTIFS или SUMIFS.

    CELLCOLOR

    Следующая функция довольно проста: она проверяет цвета ячеек и возвращает список имен цветов или RGB-кодов (на ваш выбор), используемых в каждой ячейке. Она даже называется одинаково: CELLCOLOR.

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

    Эта функция также требует 3 аргумента:

    CELLCOLOR(range, color_source, color_name)
    • ассортимент - те ячейки, которые вы хотите проверить на наличие цветов.
    • источник цвета - указывает функции, куда смотреть:
      • использовать слово "наполнение" в двойных кавычках, чтобы проверить наличие фоновых цветов
      • "шрифт" - для цветов текста
      • "оба" - для цветов заливки и текста
    • имя_цвета - ваш способ определить, какое имя нужно вернуть:
      • TRUE позволяет получить имена, которые вы видите в палитре Google Sheets, например. красный или тёмно-синий 1
      • FALSE получает RGB-коды цветов, например. #ff0000 или #3d85c6

    Например, приведенная ниже формула возвращает список цветов заливки и шрифта, используемых в каждой ячейке A2:A7:

    =CELLCOLOR(A2:A7, "both", TRUE)

    Итак, как эти функции можно использовать с IF, SUMIFS, COUNTIFS? Как задать критерии поиска на основе цветов?

    Суммирование и подсчет ячеек по цвету и содержимому - примеры формул

    Давайте попробуем использовать VALUESBYCOLORALL и CELLCOLOR в нескольких простых случаях.

    Если цвет, то...

    Здесь у меня есть короткий список студентов, сдавших 3 теста:

    Я хочу отметить строку с PASS в столбце E, только если все ячейки в строке зеленые (студенты, сдавшие все экзамены). Я буду использовать наш CELLCOLOR в функции IF, чтобы проверить цвета и вернуть нужную строку:

    =IF(COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3, "PASS","")

    Вот что он делает:

    1. CELLCOLOR(B2:D2, "fill",TRUE) возвращает все цвета заливки, используемые в строке.
    2. COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3 берет эти цвета и проверяет, появляется ли 'light green 3' (который я использую в своих ячейках) ровно 3 раза подряд.
    3. Если да, то IF возвращает 'PASS', в противном случае ячейка остается пустой.

    COUNTIFS: подсчет по цветам & значения с 1 формулой

    COUNTIFS - это еще одна функция, которая может окончательно подсчитать по нескольким критериям, даже если один из них - цвет.

    Предположим, есть данные о прибыли за смену и за каждого работника:

    Используя две наши пользовательские функции внутри COUNTIFS, я могу подсчитать, сколько раз каждый сотрудник выполнил план продаж (зеленые ячейки).

    Пример 1. COUNTIFS + CELLCOLOR

    Я перечислю всех менеджеров рядом с таблицей с данными и введу отдельную формулу для каждого сотрудника. Я начну с CELLCOLOR:

    =COUNTIFS($A$2:$A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "light green 3")

    1. Первым делом формула проверяет столбец A: если там есть 'Leela' (имя из E2), она учитывает эту запись.
    2. Второе, что мне нужно проверить, это окрашены ли ячейки в столбце C в светло-зеленый цвет 3.

      Совет. Проверьте цвет ячейки с помощью палитры Google Sheets:

    Поскольку сам COUNTIFS не может просто взять цвет, я использую наш CELLCOLOR как диапазон для состояния.

    Помните, CELLCOLOR возвращает список цветов, используемых в каждой ячейке. Когда я вставляю его в COUNTIFS, последний сканирует этот список в поисках всех вхождений 'light green 3'. Это в сочетании с именем из столбца E дает требуемый результат. Легко и просто :)

    Пример 2. COUNTIFS + VALUESBYCOLORALL

    То же самое произойдет, если вместо этого выбрать VALUESBYCOLORALL. Введите его в качестве диапазона для второго условия:

    =COUNTIFS($A$2:$A$10,E2,VALUESBYCOLORALL("светло-зеленый 3","",$C$2:C$10),"")

    Помните ли вы, что возвращает VALUESBYCOLORALL? Список значений, в котором все ячейки, удовлетворяющие вашим требованиям к цвету, содержат записи. Все остальные ячейки остаются пустыми.

    Поэтому, когда VALUESBYCOLORALL подставляется в COUNTIFS, формула считает только те ячейки, которые не являются пустыми: "" (или, другими словами, соответствуют нужному цвету).

    SUMIFS: суммирование ячеек по цветам & значениям с помощью 1 формулы

    История с SUMIFS такая же, как и с COUNTIFS:

    1. Возьмите одну из наших пользовательских функций: CELLCOLOR или VALUESBYCOLORALL.
    2. Поместите его как диапазон, который следует проверить на наличие цветов.
    3. Введите условие в зависимости от выбранной функции: название цвета для CELLCOLOR и "не пусто" ("") для VALUESBYCOLORALL.

    Примечание. SUMIFS не принимает в качестве первого аргумента ничего, кроме простого диапазона. суммарный_диапазон Если вы попытаетесь вставить туда одну из наших пользовательских функций, формула просто не будет работать. Поэтому имейте это в виду и обязательно введите CELLCOLOR и VALUESBYCOLORALL как критерий вместо этого.

    Вот несколько примеров.

    Пример 1. SUMIFS + CELLCOLOR

    Посмотрите на эту формулу:

    =SUMIFS($C$2:$C$10,A$2:A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "light green 3")

    1. CELLCOLOR получает все цвета заливки из C2:C10, а SUMIFS проверяет, является ли какой-либо из них "светло-зеленым 3".
    2. SUMIFS также сканирует A2:A10 на наличие имени из E2 -... Лила .
    3. Если оба условия выполнены, сумма из C2:C10 добавляется к общей сумме.

    Пример 2. SUMIFS + VALUESBYCOLORALL

    То же самое происходит и с VALUESBYCOLORALL:

    =SUMIFS($C$2:$C$10,$A$2:$A$10,E2,VALUESBYCOLORALL("светло-зеленый 3","",$C$2:$C$10),"")

    1. VALUESBYCOLORALL возвращает диапазон, в котором только ячейки нужного цвета заливки содержат значения. SUMIFS учитывает все непустые ячейки.
    2. SUMIFS также сканирует A2:A10 для 'Leela' из E2.
    3. После выполнения обоих условий происходит суммирование соответствующей суммы из C2:C10.

    Надеюсь, это руководство объясняет, как работают функции, и намекает на возможные способы их использования. Если у вас все еще есть трудности с их применением в вашем случае, познакомьтесь со мной в разделе комментариев ;)

    Электронная таблица для практики

    Функция по цвету - пользовательские функции - примеры (сделайте копию электронной таблицы)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.