Формула в excel сумма цвета в ячейке

Skip to content

Сумма по цвету и подсчёт по цвету в Excel

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

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

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

Помимо использования сторонних надстроек, есть только одно возможное решение — использование пользовательских функций. Если вы очень мало знаете об этой технологии или никогда раньше не слышали этот термин, не пугайтесь, вам не придется писать код самостоятельно. Здесь вы найдете готовое решение, и все, что вам нужно сделать, это скопировать / вставить его в свою книгу.

Функции и макросы, которые мы рассмотрим в этой статье, помогут нам сделать следующее:

  • Как посчитать по цвету и суммировать по цвету на листе Excel
  • Как суммировать по цвету и сосчитать по цвету во всей рабочей книге
  • Пользовательские функции для получения цвета ячейки, цвета шрифта и цветового кода
  • Как считать по цвету и суммировать ячейки, окрашенные с использованием условного форматирования
  • Самый быстрый способ подсчета и суммирования ячеек по цвету в Excel

Как посчитать по цвету и суммировать по цвету на листе Excel

Предположим, у вас есть таблица со списком заказов, в которой ячейки в столбце «Количество» окрашены в зависимости от их значения в колонке «Выполнение» и даты: ячейки с выполняемыми заказами сроком до 30 дней от текущей даты  — желтые,  уже выполненные — зеленые, а просроченные заказы — красные.

Теперь нам нужно автоматически подсчитать ячейки определенного цвета, т.е. посчитать количество красных, зеленых и желтых ячеек в таблице. Как я объяснил выше, прямого решения этой задачи при помощи стандартных формул Excel не существует. Но, к счастью, есть код VBA для Excel. Выполните 5 быстрых шагов ниже, и вы узнаете число и сумму ваших цветных ячеек всего за несколько минут.

  1. Откройте книгу Excel и нажмите Alt+F11, чтобы открыть редактор Visual Basic (VBE).
  2. Щелкните правой кнопкой мыши имя своей книги в разделе «Project–VBAProject» в правой части экрана, а затем выберите «Вставить» > «Модуль» в контекстном меню.

  1. Добавьте в вашу рабочую книгу следующий код:
Function GetCellColor(xlRange As Range)
  Dim indRow, indColumn As Long
  Dim arResults()
  Dim colorVal As Variant
  
  Application.Volatile
 
  If xlRange Is Nothing Then
      Set xlRange = Application.ThisCell
  End If
 
  If xlRange.Count > 1 Then
    ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
     For indRow = 1 To xlRange.Rows.Count
       For indColumn = 1 To xlRange.Columns.Count
         colorVal = xlRange(indRow, indColumn).Interior.Color
         arResults(indRow, indColumn) = (colorVal Mod 256) & ", " & ((colorVal  256) Mod 256) & ", " & (colorVal  65536)
       Next
     Next
   GetCellColor = arResults
  Else
   colorVal = xlRange.Cells(1, 1).Interior.Color
   GetCellColor = (colorVal Mod 256) & ", " & ((colorVal  256) Mod 256) & ", " & (colorVal  65536)
  End If
End Function
 
Function GetCellFontColor(xlRange As Range)
  Dim indRow, indColumn As Long
  Dim arResults()
  Dim colorVal As Variant
 
  Application.Volatile
 
  If xlRange Is Nothing Then
      Set xlRange = Application.ThisCell
  End If
 
  If xlRange.Count > 1 Then
    ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
     For indRow = 1 To xlRange.Rows.Count
       For indColumn = 1 To xlRange.Columns.Count
         colorVal = xlRange(indRow, indColumn).Font.Color
         arResults(indRow, indColumn) = (colorVal Mod 256) & ", " & ((colorVal  256) Mod 256) & ", " & (colorVal  65536)
       Next
     Next
   GetCellFontColor = arResults
  Else
   colorVal = xlRange.Cells(1, 1).Font.Color
   GetCellFontColor = (colorVal Mod 256) & ", " & ((colorVal  256) Mod 256) & ", " & (colorVal  65536)
  End If
End Function

Function CountCellsByColor(rData As Range, cellRefColor As Range) As Long
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim cntRes As Long
 
    Application.Volatile
    cntRes = 0
    indRefColor = cellRefColor.Cells(1, 1).Interior.Color
    For Each cellCurrent In rData
        If indRefColor = cellCurrent.Interior.Color Then
            cntRes = cntRes + 1
        End If
    Next cellCurrent
 
    CountCellsByColor = cntRes
End Function
 
Function SumCellsByColor(rData As Range, cellRefColor As Range)
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim sumRes
 
    Application.Volatile
    sumRes = 0
    indRefColor = cellRefColor.Cells(1, 1).Interior.Color
    For Each cellCurrent In rData
        If indRefColor = cellCurrent.Interior.Color Then
            sumRes = WorksheetFunction.Sum(cellCurrent, sumRes)
        End If
    Next cellCurrent
 
    SumCellsByColor = sumRes
End Function
 
Function CountCellsByFontColor(rData As Range, cellRefColor As Range) As Long
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim cntRes As Long
 
    Application.Volatile
    cntRes = 0
    indRefColor = cellRefColor.Cells(1, 1).Font.Color
    For Each cellCurrent In rData
        If indRefColor = cellCurrent.Font.Color Then
            cntRes = cntRes + 1
        End If
    Next cellCurrent
 
    CountCellsByFontColor = cntRes
End Function
 
Function SumCellsByFontColor(rData As Range, cellRefColor As Range)
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim sumRes
 
    Application.Volatile
    sumRes = 0
    indRefColor = cellRefColor.Cells(1, 1).Font.Color
    For Each cellCurrent In rData
        If indRefColor = cellCurrent.Font.Color Then
            sumRes = WorksheetFunction.Sum(cellCurrent, sumRes)
        End If
    Next cellCurrent
 
    SumCellsByFontColor = sumRes
End Function
  1. Сохраните свою книгу как «Книга Excel с поддержкой макросов (.xlsm)».

Если вы новичок и вам сложно работать с VBA, вы можете найти подробные пошаговые инструкции и несколько полезных советов в этом руководстве: Как вставить и запустить код VBA в Excel .

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

CountCellsByColor( диапазон ; код цвета )

здесь и далее эти аргументы означают:

диапазон – диапазон ячеек, в которых вы хотите произвести подсчеты по цвету,

код цвета – адрес ячейки-образца, цвет фона или шрифта которой соответствуют искомому цвету фона или шрифта.

В этом примере мы используем формулу, =CountCellsByColor(D2:D21;A24), где D2:D21— это диапазон, в котором вы хотите посчитать количество ячеек с цветом, а A24 — это ячейка, закрашенная нужным нам цветом, красным в нашем случае.

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

Если у вас есть числовые данные в цветных ячейках (например, столбец Количество в нашей таблице), вы можете сложить значения на основе определенного цвета, используя аналогичную функцию SumCellsByColor:

SumCellsByColor( диапазон ; код цвета)

Как показано на скриншоте выше, мы использовали формулу суммы по цвету, =SumCellsByColor(D2:D21;A24), где D2:D21 — это диапазон, а A24 — ячейка с образцом цвета.

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

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

=CountCellsByFontColor(D2:D21;A24)

Аналогично подсчитываем сумму чисел, имеющих определённый цвет шрифта, при помощи формулы:

=SumCellsByFontColor(D2:D21;A24)

Примечание. Если после применения вышеупомянутого кода VBA вам потребуется раскрасить еще несколько ячеек вручную, то сумма и количество окрашенных ячеек не будут пересчитаны автоматически, чтобы отразить произошедшие изменения. Пожалуйста, не сердитесь на нас, это не ошибка кода :)

На самом деле, это нормальное поведение всех макросов Excel, скриптов VBA и пользовательских функций. Дело в том, что все подобные функции вызываются только при изменении данных рабочего листа. Но Excel не воспринимает изменение цвета шрифта или цвета ячейки как изменение данных. 

Итак, после раскрашивания ячеек вручную, просто поместите курсор в любую ячейку и нажмите F2, а затем Enter. То есть, сделайте вид, что меняете содержимое какой-либо ячейки. Сумма и количество в пользовательской функции тут же будут обновлены. То же самое относится и к другим макросам, которые считают по цвету.

Как суммировать по цвету и сосчитать по цвету во всей рабочей книге

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

Function WbkCountCellsByColor(cellRefColor As Range)
  Dim vWbkRes
  Dim wshCurrent As Worksheet
 
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
 
  vWbkRes = 0
  For Each wshCurrent In Worksheets
    wshCurrent.Activate
    vWbkRes = vWbkRes + CountCellsByColor(wshCurrent.UsedRange, cellRefColor)
  Next
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
 
  WbkCountCellsByColor = vWbkRes
End Function
 
Function WbkSumCellsByColor(cellRefColor As Range)
  Dim vWbkRes
  Dim wshCurrent As Worksheet
 
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
 
  vWbkRes = 0
  For Each wshCurrent In Worksheets
    wshCurrent.Activate
    vWbkRes = vWbkRes + SumCellsByColor(wshCurrent.UsedRange, cellRefColor)
  Next
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
 
  WbkSumCellsByColor = vWbkRes
End Function

Вы используете этот макрос так же, как и предыдущий код, и выводите количество и сумму цветных ячеек с помощью следующих формул =WbkCountCellsByColor() и =WbkSumCellsByColor() соответственно. 

Единственный аргумент, который нужен этим функциям, это адрес ячейки с нужным цветом.

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

=WbkSumCellsByColor(A1)   

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

Пользовательские функции для получения цвета ячейки, цвета шрифта и цветового кода

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

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

Если вы вдруг забыли, как можно вручную раскрасить ячейку в нужный цвет, то напомню. Жмем Ctrl+1, затем Заливка – Другие цвета – Спектр – RGB формат. Вот туда и вставляем полученный код. Точное соответствие цвета будет обеспечено.

Примечание. Помните, что все эти формулы будут работать только в том случае, если вы добавили пользовательскую функцию в книгу Excel, как показано ранее в этой статье.

Функции для подсчета по цвету:

  • CountCellsByColor(диапазон; код цвета) ­– считает ячейки с заданным цветом фона.

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

= CountCellsByColor (F2: F14, A17) 

где F2: F14 — выбранный диапазон, а A17 — ячейка с нужным цветом фона. Вы можете использовать все остальные формулы, перечисленные ниже, аналогичным образом.

  • CountCellsByFontColor(диапазон; код цвета) – подсчитывает ячейки с указанным цветом шрифта.

Формулы для суммирования по цветам:

  • SumCellsByColor(диапазон; код цвета) – вычисляет сумму ячеек с определенным цветом фона.
  • SumCellsByFontColor(диапазон; код цвета) – вычисляет сумму ячеек с определенным цветом шрифта.

Функции для получения кода цвета ячейки:

  • GetCellFontColor(ячейка) – возвращает цветовой код цвета шрифта указанной ячейки.
  • GetCellColor(ячейка) – возвращает цветовой код цвета фона указанной ячейки.

Вот примеры использования функции цвета ячейки:

А на этим скриншоте мы получаем цветовой RGB код шрифта.

Как считать по цвету и суммировать ячейки, окрашенные с использованием условного форматирования

Если вы применили условное форматирование к ячейкам на основе их значений и теперь хотите посчитать эти ячейки по цвету или просуммировать значения в закрашенных ячейках, то у меня плохие новости — не существует универсальной определяемой пользователем функции, которая бы суммировала по цвету или пересчитала закрашенные условным форматированием ячейки и вывела бы полученные числа прямо в указанные клетки таблицы. По крайней мере мне о такой функции не известно, увы :(

Конечно, вы можете найти в Интернете тонны кода VBA, который пытается это сделать, но все эти коды (по крайней мере, примеры, с которыми я сталкивался), не обрабатывают условное форматирование, такое как «Форматировать все ячейки на основе их значений», «Форматировать только наибольшие или наименьшие значения», «Форматировать только значения выше или ниже среднего», «Форматировать только уникальные или повторяющиеся значения». Кроме того, почти все эти коды VBA имеют ряд особенностей и ограничений, из-за которых они могут работать некорректно с определенными книгами или типами данных. В общем, вы можете испытать удачу и поискать в Google идеальное решение, и если вы его найдете, пожалуйста, вернитесь и опубликуйте свое открытие здесь!

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

Приведенный ниже макрос VBA преодолевает вышеупомянутые ограничения и работает в электронных таблицах Microsoft Excel со всеми типами условного форматирования. Он отображает количество выделенных определенным цветом ячеек и сумму значений в этих ячейках, независимо от того, какой тип условного форматирования используется на листе.

Sub SumCountByConditionalFormat()
  Dim indRefColor As Long
  Dim cellCurrent As Object
  Dim cntRes As Long
  Dim sumRes
  Dim cntCells As Long
  Dim indCurCell As Long
 
  cntRes = 0
  sumRes = 0
  
  Set cellCurrent = Selection
  adr = Mid(cellCurrent.Address, InStr(cellCurrent.Address, ",") + 1, 20)
  adr1 = Left(adr, 4)
  adr2 = Left(cellCurrent.Address, InStr(cellCurrent.Address, ",") - 1)
  Range(adr2).Activate
  indRefColor = ActiveCell.DisplayFormat.Interior.Color
  Range(adr).Activate
  cntCells = Selection.CountLarge
  Range(adr).Select
  Range(adr).Activate
 Set cellCurrent = Selection
 For indCurCell = 1 To (cntCells - 1)
    If indRefColor = cellCurrent(indCurCell).DisplayFormat.Interior.Color Then
        cntRes = cntRes + 1
        sumRes = WorksheetFunction.Sum(cellCurrent(indCurCell), sumRes)
    End If
  Next
  MsgBox "Count=" & cntRes & vbCrLf & "Sum= " & sumRes & vbCrLf & vbCrLf & _
    "Color=" & Left("000000", 6 - Len(Hex(indRefColor))) & _
    Hex(indRefColor) & vbCrLf, , "Count & Sum by Conditional Format color"
End Sub

Как использовать этот макрос для подсчета цветных ячеек и суммирования их значений.

Опишем процесс пошагово:

  1. Добавьте приведенный выше код на лист, как описано в первом параграфе статьи .
  2. Выберите ячейку с нужным цветом.
  3. Нажмите и удерживайте Ctrl.
  4. Выберите диапазон, в котором вы хотите подсчитать цветные ячейки и/или суммировать по цвету, если у вас есть числовые данные.
  5. Отпустите клавишу Ctrl.
  6. НажНажмите комбинацию  Alt+F8, чтобы открыть список макросов в вашей книге.
  7. Выберите макрос SumCountByConditionalFormat и нажмите «Выполнить» .

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

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

Затем дополнительно, удерживая Ctrl, выделяем диапазон ячеек в столбце D, по которым нужно выполнить подсчет ячеек определенного цвета.

Выполняем макрос, как показано на скриншоте ниже.

В результате вы увидите следующее сообщение с результатами:

Для этого примера мы выбрали столбец «Количество» и получили следующие цифры:

  1. Count — это количество ячеек определенного цвета, красного в нашем случае, который отмечает ячейки «Просрочен».
  2. Sum — это сумма значений всех красных ячеек в выбранной колонке, т.е. общее количество «Просроченных» заказов.
  3. Color — это шестнадцатеричный код цвета выбранной ячейки, в нашем случае D5.

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

Самый быстрый способ подсчета и суммирования ячеек по цвету в Excel

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

При этом не имеет значения, как установлены эти цвета – прямым форматированием ячейки либо при помощи условного форматирования.

Позвольте представить вам наш совершенно новый инструмент — «Счет и сумма по цвету» для Excel. Он имеет два варианта подсчета — «Один цвет» и «Все цвета», как видно на скриншоте ниже.

Подсчет и суммирование по одному цвету.

Вы нажимаете кнопку « Один цвет » на ленте, и в левой части рабочего листа открывается панель « Подсчет и сумма по цвету» . На панели вы выбираете:

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

После этого нажмите « Рассчитать » и сразу же увидите результат в нижней части панели! Помимо подсчета и суммы, надстройка вычисляет среднее значение и находит максимальное и минимальное значения. Никаких макросов, никаких формул, никакой боли :)

Обратите внимание, что подсчет возможен как по цвету фона, так и по цвету шрифта.

Подсчет и суммирование ячеек по всем цветам в выбранном диапазоне

Опция «Все цвета» работает в основном так же, за исключением того, что вам не нужно выбирать цвет. В разделе «Result for ..» вы можете выбрать любой из параметров: Количество, Сумма, Среднее, Максимальное или Минимальное значение  и другие.

Если вы хотите скопировать результаты на свой рабочий лист, нажмите кнопку «Paste All» в нижней части панели .

В настоящее время надстройка доступна как часть Ultimate Suite for Excel . Это коллекция отличных инструментов, специально разработанных для решения самых утомительных, кропотливых и подверженных ошибкам задач в Excel.

В дополнение к надстройке «Подсчет и суммирование по цвету», Ultimate Suite включает более 70 инструментов, которые помогут вам объединить данные из разных листов, удалить дубликаты, сравнить листы на совпадения и различия и многое другое.

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

Функция СУММПРОИЗВ с примерами формул В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения…
Проверка данных с помощью регулярных выражений В этом руководстве показано, как выполнять проверку данных в Excel с помощью регулярных выражений и пользовательской функции RegexMatch. Когда дело доходит до ограничения пользовательского ввода на листах Excel, проверка данных очень полезна. Хотите…
Поиск и замена в Excel с помощью регулярных выражений В этом руководстве показано, как быстро добавить пользовательскую функцию в свои рабочие книги, чтобы вы могли использовать регулярные выражения для замены текстовых строк в Excel. Когда дело доходит до замены…
Как извлечь строку из текста при помощи регулярных выражений В этом руководстве вы узнаете, как использовать регулярные выражения в Excel для поиска и извлечения части текста, соответствующего заданному шаблону. Microsoft Excel предоставляет ряд функций для извлечения текста из ячеек. Эти функции…
4 способа отладки пользовательской функции Как правильно создавать пользовательские функции и где нужно размещать их код, мы подробно рассмотрели ранее в этой статье.  Чтобы решить проблемы при создании пользовательской функции, вам скорее всего придется выполнить…


Просуммируем значения ячеек в зависимости от цвета их заливки. Здесь же покажем, как подсчитать такие ячейки.

Функции для суммирования значений по цвету ячеек в EXCEL не существует (по крайней мере, в EXCEL 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.

Пусть дан диапазон ячеек в столбце А. Пользователь выделил цветом ячейки, чтобы разбить значения по группам.

Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?

Это можно сделать разными способами, приведем 3 из них: с помощью

Автофильтра

, Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.

С помощью Автофильтра (ручной метод)

  • Добавьте справа еще один столбец с заголовком

    Код цвета

    .
  • Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите

    Автофильтр

    (

    подробнее здесь

    )

  • Вызовите меню

    Автофильтра

    , выберите зеленый цвет

  • Будут отображены только строки с зелеными ячейками
  • Введите напротив каждого «зеленого» значения число 1

  • Сделайте тоже для всех цветов

Введите формулу

=СУММЕСЛИ(B7:B17;E7;A7:A17)

как показано в

файле примера (лист Фильтр)

.

Для

подсчета значений

используйте функцию

СЧЕТЕСЛИ()

.

С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()

Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.

Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).


Примечание:

Макрофункции — это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве

Именованной формулы

. Макрофункции — промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm

  • Сделайте активной ячейку

    В7

    (это важно, т.к. мы будем использовать

    относительную адресацию

    в формуле)

  • В

    Диспетчере имен

    введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)

  • Назовите ее Цвет

  • Закройте Диспетчер имен
  • Введите в ячейку

    В7

    формулу =Цвет и скопируйте ее вниз.

Сложение значений организовано так же как и в предыдущем разделе.

Макрофункция работает кривовато:

  • если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из

    В7

    вниз или выделить ячейку, нажать клавишу

    F2

    и затем

    ENTER

    )
  • функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом

    см. лист файла примера Colors

    . Как следствие, будут сложены значения из ячеек с разными цветами.

С помощью VBA

В

файле примера на листе VBA

приведено решение с помощью VBA. Решений может быть множество:

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

Количество и сумма ячеек по цвету в Excel

Разберем простые способы как посчитать количество, и как суммировать ячейки по цвету в Excel.

Мы часто при работе в Excel окрашиваем ячейки различными цветами для лучшей визуализации данных.
Однако, когда возникает необходимость произвести какие-либо расчеты с обработанными данными мы сталкиваемся с трудностями в связи с малыми возможностями стандартных средств Excel.
Рассмотрим две простые функции, которые дают возможность суммировать ячейки, и посчитать количество выделенных цветом ячеек.

Суммирование ячеек по цвету

Перейдем в редактор VBA, для этого в панели вкладок выбираем Разработчик -> Visual Basic (или нажимаем комбинацию клавиш Alt + F11).
Создаем новый модуль и добавляем в него следующий код (напротив каждой строчки дается пояснение к коду):

Функция СУММЦВЕТ содержит два аргумента:

  • MyRange(обязательный аргумент) — диапазон ячеек для суммирования;
  • MyCell(обязательный аргумент) — ячейка, по цвету заливки которой рассчитывается сумма.

Функция СУММЦВЕТ теперь будет определяться при вводе формулы в ячейку, переходим из редактора на лист Excel и воспользуемся новой функцией:


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

Подсчет количества ячеек по цвету

Чтобы посчитать ячейки одного цвета достаточно немного видоизменить функцию для подсчета суммы — вместо прибавления значения текущей ячейки (Sum = Sum + cell.Value) мы добавляем 1 (Sum = Sum + 1).

При работе с данными функциями обратите внимание на два важных момента:

  • Если цвет выбранной ячейки определяется с помощью условного форматирования (т.е. цвет ячейки определяется не за счет заливки), то рассмотренные функции не сработают.
  • В случае изменения раскраски ячейки в Excel формулы автоматически не пересчитываются, так как не изменяется содержимое ячейки, поэтому для корректного расчета необходимо произвести пересчет формул. Комбинация клавиш Shift + F9 пересчитает формулы на активном листе (F9 — для всей книги).

Сложение значений в зависимости от цвета ячеек в MS EXCEL

Просуммируем значения ячеек в зависимости от цвета их заливки. Здесь же покажем, как подсчитать такие ячейки.

Функции для суммирования значений по цвету ячеек в EXCEL не существует (по крайней мере, в EXCEL 2016 и в более ранних версиях). Вероятно, подавляющему большинству пользователей это не требуется.

Пусть дан диапазон ячеек в столбце А. Пользователь выделил цветом ячейки, чтобы разбить значения по группам.

Необходимо сложить значения ячеек в зависимости от цвета фона. Основная задача: Как нам «объяснить» функции сложения, что нужно складывать значения, например, только зеленых ячеек?

Это можно сделать разными способами, приведем 3 из них: с помощью Автофильтра, Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA.

С помощью Автофильтра (ручной метод)

  • Добавьте справа еще один столбец с заголовком Код цвета.
  • Выделите заголовки и нажмите CTRL+SHIFT+L, т.е. вызовите Автофильтр (подробнее здесь)
  • Вызовите меню Автофильтра, выберите зеленый цвет

  • Будут отображены только строки с зелеными ячейками
  • Введите напротив каждого «зеленого» значения число 1

  • Сделайте тоже для всех цветов

Введите формулу =СУММЕСЛИ(B7:B17;E7;A7:A17) как показано в файле примера (лист Фильтр) .

Для подсчета значений используйте функцию СЧЕТЕСЛИ() .

С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()

Сразу предупрежу, что начинающему пользователю EXCEL будет сложно разобраться с этим и следующим разделом.

Идея заключается в том, чтобы автоматически вывести в соседнем столбце числовой код фона ячейки (в MS EXCEL все цвета имеют соответствующий числовой код). Для этого нам потребуется функция, которая может вернуть этот код. Ни одна обычная функция этого не умеет. Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(), которая возвращает код цвета заливки ячейки (она может много, но нам потребуется только это ее свойство).

Примечание: Макрофункции — это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL современных версий, а можно использовать только в качестве Именованной формулы. Макрофункции — промежуточный вариант между обычными функциями и функциями VBA. Для работы с этими функциями требуется сохранить файл в формате с макросами *.xlsm

  • Сделайте активной ячейку В7(это важно, т.к. мы будем использовать относительную адресацию в формуле)
  • В Диспетчере имен введите формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)
  • Назовите ее Цвет

  • Закройте Диспетчер имен
  • Введите в ячейку В7формулу =Цвет и скопируйте ее вниз.

Сложение значений организовано так же как и в предыдущем разделе.

Макрофункция работает кривовато:

  • если вы измените цвет ячейки, то макрофункция не обновит значения кода (для этого нужно опять скопировать формулу из В7вниз или выделить ячейку, нажать клавишу F2 и затем ENTER)
  • функция возвращает только 56 цветов (так называемая палитра EXCEL), т.е. если цвета близки, например, зеленый и светло зеленый, то коды этих цветов могут совпасть. Подробнее об этом см. лист файла примера Colors . Как следствие, будут сложены значения из ячеек с разными цветами.

С помощью VBA

В файле примера на листе VBA приведено решение с помощью VBA. Решений может быть множество:

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

СуммаЯчеек_Заливка

Данная функция является частью надстройки MulTEx

  • Описание, установка, удаление и обновление
  • Полный список команд и функций MulTEx
  • Часто задаваемые вопросы по MulTEx
  • Скачать MulTEx

Суммирование ячеек по цвету заливки

Как часто Вы при работе с таблицами окрашиваете ячейки в тот или иной цвет? Желтый — расходы Транспортного отдела, Красный — Экономического, Зеленый — Администрация и т.п. А потом хочется все эти расходы просуммировать, и не просто просуммировать ВСЕ расходы, а только расходы в ячейках с определенным цветом заливки. Это еще одна нерешенная проблема Excel. Разработчики категорически не хотят встраивать в него хоть какую-то функцию для суммирования данных в ячейках с определенным цветом заливки. Именно это делает данная функция — СуммаЯчеек_Заливка.

Вызов команды через стандартный диалог:

Мастер функцийКатегория «MulTEx»СуммаЯчеек_Заливка

Вызов с панели MulTEx:

Сумма/Поиск/ФункцииМатематическиеСуммаЯчеек_Заливка

Синтаксис:
=СуммаЯчеек_Заливка( $E$2:$E$20 ; $E$7 ; I3 ; $A$2:$A$20 )

В принципе, данная функция аналогична по сути стандартной СУММЕСЛИ, только в качестве основного критерия здесь ячейка с заливкой. Но можно указать и привычный критерий — значение ячейки, в таком случае суммироваться будут ячейки с указанным цветом и критерием.

ДиапазонСуммирования( $E$2:$E$20 )- диапазон значений для суммирования. Можно указать несколько столбцов. Столбец с критерием(если планируется суммировать еще и по критерию) не обязательно должен входит в диапазон.

ЯчейкаОбразец( $E$7 ) — ячейка-образец заливки. Ссылка на ячейку с цветом заливки.

Критерий( I3 ) — необязательный аргумент. Если указан, то суммируются ячейки с указанным критерием и цветом заливки. Допускается применение в критерии символов подстановки — «*» и «?» . Если не указан, то суммируются все ячейки с указанным цветом заливки. Если в диапазоне суммирования находятся ячейки с текстом, то они будут игнорироваться.
Так же данный аргумент может принимать в качестве критерия символы сравнения ( , =, <>, ):

  • «>0» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых больше нуля;
  • «>=2» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых больше или равно двум;
  • » — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых меньше нуля;
  • » — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых меньше или равно 60;
  • «<>0″ — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых не равно нулю;
  • «<>» — будут просуммированы все ячейки в столбце суммирования, значения ячеек критериев для которых не пустые;

Вместо нуля может быть любое число или текст. Так же можно добавить ссылку на ячейку со значением: «<>«&D$1

ДиапазонКритерия( $A$2:$A$20 ) — Необязательный аргумент. Указывается диапазон, в котором следует искать критерий(если критерий указан). ДиапазонКритерия должен быть равен по количеству ячеек ДиапазонуСуммирования. Если ДиапазонКритерия не указан, то критерий просматривается в ДиапазонеСуммирования.

ИспУФ() — Необязательный аргумент. Допускается указание логических значений ИСТИНА(TRUE) или ЛОЖЬ(FALSE). По умолчанию принимает значение ИСТИНА. Если указан как ИСТИНА, то функция будет суммировать ячейки с учетом примененного к ним условного форматирования. Если указан как ЛОЖЬ, то функция будет суммировать ячейки без учета примененного условного форматирования, т.е. даже если условное форматирование применено и ячейка окрашена с его помощью, а реальный цвет заливки не соответствует цвету ЯчейкиОбразца — то её значение не будет суммироваться.

Важно: Функция не вычисляется при изменении цвета заливки. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги)

Примечание: данная функция будет корректно работать даже при примененном к ячейке Условном форматировании. Однако если в ячейке/диапазоне присутствуют условия, формат для которых задан при помощи шкал, градиентов, гистограмм и значков — функция может вернуть некорректный результат. Связано это с тем, что Excel не предоставляет доступ к данным типам УФ извне.

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

Помечать ячейки цветом, используя заливку или цвет шрифта, очень удобно и наглядно. Если вы не дальтоник, конечно 🙂 Трудности возникают тогда, когда по такой раскрашенной таблице возникает необходимость сделать отчет. И если фильтровать и сортировать по цвету Excel в последних версиях научился, то суммировать по цвету до сих пор не умеет.

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

Откройте редактор Visual Basic:

  • В Excel 2003 и старше для этого нужно выбрать в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor)
  • В новых версиях Excel 2007-2013 перейти на вкладку Разработчик (Developer) и нажать кнопку Visual Basic. Если такой вкладки у вас не видно, то включите ее в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon)

В окне редактора вставьте новый модуль через меню Insert — Module и скопируйте туда текст вот такой функции:

Если теперь вернуться в Excel, то в Мастере функций (Вставка — Функция) в появившейся там категории Определенные пользователем (User Defined) можно найти нашу функцию и вставить ее на лист:

У нее два аргумента:

  • DataRange — диапазон раскрашенных ячеек с числами
  • ColorSample — ячейка, цвет которой принимается как образец для суммирования

Цвет шрифта

Легко изменить нашу функцию, чтобы она учитывала не цвет заливки фона, а цвет шрифта ячейки. Для этого в строке 6 просто замените свойство Interior на Font в обеих частях выражения.

Количество вместо суммы

Если вам нужно подсчитывать не сумму покрашенных определенным цветом ячеек, а всего лишь их количество, то наша функция будет еще проще. Замените в ней 7-ю строку на:

Нюансы пересчета

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

Полностью решить эту проблему невозможно, но можно ее существенно облегчить. Для этого в третьей строке нашей функции используется команда Application.Volatile True. Она заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию F9).

И помните о том, что наша функция перебирает все (и пустые тоже) ячейки в диапазоне DataRange и не задавайте в качестве первого аргумента целый столбец — «думать» будет долго 🙂

Как в Microsoft Excel суммировать ячейки по цвету

Написал admin. Опубликовано в рубрике Офисные приложения

В Microsoft Excel, при создании таблиц, очень удобно и наглядно помечать ячейки цветом. Но что делать, если нам понадобиться суммировать значения ячеек одного цвета? По умолчанию, данной функции в Excel до сих пор нет. Решить эту проблему можно написав макрос в Visual Basic.

Для этого в Excel версии 2007-2013 переходим на вкладку Разработчик и нажимаем Visual Basic.

Если такой вкладки нет, то включаем ее следующим образом: Файл/Параметры/Настройка ленты и ставим галочку напротив слова Разработчик.

В открывшемся окне редактора нажимаем Insert/Module и копируем туда следующий текст:

Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double Dim Sum As Double Application.Volatile True For Each cell In DataRange If cell.Interior.Color = ColorSample.Interior.Color Then Sum = Sum + cell.Value End If Next cell SumByColor = Sum End Function

Сохраняем изменения. Далее в Excel на вкладке Формулы выбираем пункт Вставить функцию. Необходимо выбрать категорию Определенные пользователем – тогда отобразится наша функция – SumByColor.

У этой функции 2 аргументы:

DataRange – диапазон ячеек с числами;

ColorSample – ячейка, цвет которой является образцом для суммирования.

Вот и все. Данная функция корректно работает на последних версиях Excel. Надеюсь, она пригодится Вам при составлении отчетов.

Как посчитать количество и сумму ячеек по цвету в Excel 2010 и 2013

​Смотрите также​ ячеек с определенным​ посчитать сумму ячеек​ Некоторые из них​- диапазон раскрашенных​ таблице возникает необходимость​В7​ помощью Автофильтра, Макрофункции​ которым выделены ячейки​ indRefColor As Long​ функции, которая будет​ показано ранее в​ определённого цвета на​ используя аналогичную функцию​ Each cellCurrent In​

​ To xlRange.Rows.Count For​ ячейкам применены правила​Из этой статьи Вы​ форматом;​ выделенных цветом​ решаю сама, а​ ячеек с числами​ сделать отчет. И​формулу =Цвет и​ ПОЛУЧИТЬ.ЯЧЕЙКУ() и VBA. ​ со значением​ Dim cellCurrent As​ по цвету суммировать​ этой статье.​ всех листах данной​SumCellsByColor​ rData If indRefColor​

​ indColumn = 1​ условного форматирования​ узнаете, как в​Count_CellColor — подсчет​Michael_S​ вот с некоторыми​ColorSample​ если фильтровать и​ скопируйте ее вниз.​Добавьте справа еще один​Past Due​ Range Dim cntRes​ или считать количество​

​CountCellsByColor(диапазон, код_цвета)​ книги. Итак, вот​:​ = cellCurrent.Font.Color Then​ To xlRange.Columns.Count arResults(indRow,​Предположим, у Вас есть​ Excel посчитать количество​ ячеек с определенным​: Смотря как они​ совсем немогу справиться.​- ячейка, цвет​ сортировать по цвету​Сложение значений организовано так​ столбец с заголовком​.​ As Long Dim​ ячеек и выводить​– считает ячейки​ этот код:​SumCellsByColor(диапазон, код_цвета)​ cntRes = cntRes​

  • ​ indColumn) = xlRange(indRow,​ таблица заказов компании,​ и сумму ячеек​
    • ​ цветом заливки, включая​ выделены. Если вручную​ Поэтому обнаружив такой​
  • ​ которой принимается как​ Excel в последних​ же как и​ Код цвета.​

Как считать и суммировать по цвету на листе Excel

​Sum​ sumRes Dim cntCells​ результат в определённые​ с заданным цветом​​Function WbkCountCellsByColor(cellRefColor As​​Как показано на снимке​ + 1 End​​ indColumn).Interior.Color Next Next​​ в которой ячейки​​ определенного цвета. Этот​​ условное форматирование;​​ — то только​​ замечательный форум, решила​

Подсчет и суммирование ячеек по цвету в Excel

​ образец для суммирования​ версиях научился, то​ в предыдущем разделе.​Выделите заголовки и нажмите​– это сумма​ As Long Dim​ ячейки. По крайней​ заливки.В примере, рассмотренном​ Range) Dim vWbkRes​ экрана ниже, мы​ If Next cellCurrent​ GetCellColor = arResults​ в столбце​ способ работает как​Cell_Color — для​ макросом, если применялось​ обратиться к Вам​Легко изменить нашу функцию,​ суммировать по цвету​Макрофункция работает кривовато:​ CTRL+SHIFT+L, т.е. вызовите​ значений всех ячеек​ indCurCell As Long​ мере, я не​ выше, мы использовали​

  1. ​ Dim wshCurrent As​ использовали формулу:​​ CountCellsByFontColor = cntRes​​ Else GetCellColor =​​Delivery​​ для ячеек, раскрашенных​
  2. ​ определения числового кода​ УФ — то​ за помощью.​ чтобы она учитывала​​ до сих пор​​если вы измените цвет​ Автофильтр (подробнее здесь)​ красного цвета в​ cntRes = 0​​ слышал о таких​​ вот такую формулу​​ Worksheet Application.ScreenUpdating =​​=SumCellsByColor(D2:D14,A17)​Подсчет и суммирование ячеек по цвету в Excel
  3. ​ End Function Function​ xlRange.Interior.Color End If​

​раскрашены в зависимости​ вручную, так и​ цвета заливки;​ по условию УФ​есть образцы цвета​ не цвет заливки​ не умеет.​ ячейки, то макрофункция​Вызовите меню Автофильтра, выберите​ столбце​ sumRes = 0​ функциях, а жаль​ для подсчёта количества​ False Application.Calculation =​где​ SumCellsByFontColor(rData As Range,​ End Function Function​ от их значений:​ для ячеек с​Cell_Font — для​vikttur​ ячеек (В1,В2), в​ фона, а цвет​Чтобы исправить этот существенный​ не обновит значения​ зеленый цвет​Qty.​ cntCells = Selection.CountLarge​Конечно, Вы можете найти​ ячеек по их​ xlCalculationManual vWbkRes =​D2:D14​ cellRefColor As Range)​ GetCellFontColor(xlRange As Range)​Due in X Days​ правилами условного форматирования.​ определения числового кода​: Например, Надстройка для​ таблице ниже необходимо​ шрифта ячейки. Для​ недостаток можно использовать​ кода (для этого​Будут отображены только строки​, то есть общее​ indRefColor = ActiveCell.DisplayFormat.Interior.Color​ тонны кода VBA​ цвету:​ 0 For Each​– диапазон,​ Dim indRefColor As​ Dim indRow, indColumn​– оранжевые,​ Кроме того, Вы​ цвета шрифта.​ суммирования по цвету​ посчитать количество ячеек​ этого в строке​ несложную пользовательскую функцию​ нужно опять скопировать​ с зелеными ячейками​ количество элементов с​ For indCurCell =​ в интернете, который​=CountCellsByColor(F2:F14,A17)​ wshCurrent In Worksheets​A17​ Long Dim cellCurrent​ As Long Dim​Delivered​ научитесь настраивать фильтр​Но как этим​ заливки,шрифта, формату​ определенного цвета по​ 6 просто замените​ на Visual Basic,​ формулу из​Введите напротив каждого «зеленого»​ отметкой​ 1 To (cntCells​ пытается сделать это,​где​ wshCurrent.Activate vWbkRes =​– ячейка с​ As Range Dim​ arResults() Application.Volatile If​– зелёные,​ по нескольким цветам​ воспользоваться не знаю,​Tyron​ определенной строке. только​ свойство​ которая позволит нам​В7 ​ значения число 1​Past Due​ — 1) If​ но все эти​F2:F14​ vWbkRes + CountCellsByColor(wshCurrent.UsedRange,​ образцом цвета.​ sumRes Application.Volatile sumRes​ xlRange Is Nothing​Past Due​ в Excel 2010​ помогите !!!​: С надстройкой получилось​ не с помощью​Interior​ суммировать ячейки с​вниз или выделить ячейку,​Сделайте тоже для всех​

  1. ​.​ indRefColor = Selection(indCurCell).DisplayFormat.Interior.Color​​ коды (по крайней​​– это выбранный​ cellRefColor) Next Application.ScreenUpdating​Таким же образом Вы​ = 0 indRefColor​ Then Set xlRange​– красные.​ и 2013.​Или может знает​ подсчитать количество ячеек​ Надстройки MyAddin​на​
  2. ​ определенным цветом.​ нажать клавишу​ цветов​Color​ Then cntRes =​ мере, те экземпляры,​​ диапазон,​​ = True Application.Calculation​

    ​ можете посчитать и​

​ = cellRefColor.Cells(1, 1).Font.Color​ = Application.ThisCell End​​Теперь мы хотим автоматически​​Если Вы активно используете​​ кто другой способ​​ по цветам.​Serge_007​Font​Откройте редактор Visual Basic:​​F2​​Введите формулу =СУММЕСЛИ(B7:B17;E7;A7:A17) как показано​– это шестнадцатеричный​ cntRes + 1​

​ которые попадались мне)​A17​ = xlCalculationAutomatic WbkCountCellsByColor​ просуммировать ячейки по​ For Each cellCurrent​ If If xlRange.Count​

Подсчет и суммирование ячеек по цвету в Excel

​ сосчитать количество ячеек​ разнообразные заливки и​Abram pupkin​​А как сделать​​: Без макросов не​в обеих частях​В Excel 2003 и​и затем​ в файле примера​​ код цвета выделенной​​ sumRes = WorksheetFunction.Sum(Selection(indCurCell),​

​ не обрабатывают правила​

Подсчет и суммирование ячеек по цвету в Excel

​– это ячейка​ = vWbkRes End​ цвету шрифта при​

​ In rData If​

​ > 1 Then​​ по их цвету,​​ цвет шрифта на​​: Если ячейки закрашивались​​ чтобы при изменении​ получится, формулы не​

​ выражения.​ старше для этого​ENTER​ (лист Фильтр).​ ячейки, в нашем​​ sumRes) End If​​ условного форматирования, такие​​ с нужным цветом​​ Function Function WbkSumCellsByColor(cellRefColor​

Подсчет и суммирование ячеек по цвету в Excel

​ помощи функций​​ indRefColor = cellCurrent.Font.Color​ ReDim arResults(1 To​ то есть сосчитать​ листах Excel, чтобы​ вручную, тогда только​ цвета ячейки автоматически​ работают с цветом​Если вам нужно подсчитывать​ нужно выбрать в​)​Для подсчета значений  используйте​:)

​ случае​ Next MsgBox «Count=»​ как:​ заливки.​ As Range) Dim​CountCellsByFontColor​ Then sumRes =​ xlRange.Rows.Count, 1 To​ количество красных, зелёных​ выделять различные типы​ через макросы.​ пересчитывалось и их​julytt​ не сумму покрашенных​ меню​функция возвращает только 56​ функцию СЧЕТЕСЛИ().​D2​​ & cntRes &​​Format all cells based​​Все перечисленные далее формулы​​ vWbkRes Dim wshCurrent​и​ WorksheetFunction.Sum(cellCurrent, sumRes) End​ xlRange.Columns.Count) For indRow​ и оранжевых ячеек​ ячеек или значений,​То что вы​

Считаем сумму и количество ячеек по цвету во всей книге

​ количество?​: вот я и​ определенным цветом ячеек,​Сервис — Макрос -​ цветов (так называемая​Сразу предупрежу, что начинающему​.​ vbCrLf & «Sum=​ on their values​ работают по такому​ As Worksheet Application.ScreenUpdating​SumCellsByFontColor​ If Next cellCurrent​ = 1 To​ на листе. Как​

​ то, скорее всего,​ написали — это​З.Ы. Пример в​ хотеле с макросами,​ а всего лишь​ Редактор Visual Basic​ палитра EXCEL), т.е.​ пользователю EXCEL будет​Если у Вас возникли​ » & sumRes​(Форматировать все ячейки​ же принципу.​ = False Application.Calculation​соответственно.​ SumCellsByFontColor = sumRes​ xlRange.Rows.Count For indColumn​ я уже сказал​ захотите узнать, сколько​ и есть фрагменты​ файле. Подскажите кто​ а вот то​ их количество, то​ (Tools — Macro​ если цвета близки,​ сложно разобраться с​ трудности с добавлением​ & vbCrLf &​ на основании их​CountCellsByFontColor(диапазон, код_цвета)​

​ = xlCalculationManual vWbkRes​Замечание:​ End Function​ = 1 To​ выше, прямого решения​ ячеек выделено определённым​ от макросов.​

​ знает пожалуйста!​
​ что мне удалось​

​ наша функция будет​ — Visual Basic​ например, зеленый и​ этим и следующим​ скриптов в рабочую​ vbCrLf & _​ значений);​– считает ячейки​ = 0 For​Если после применения​​Сохраните рабочую книгу Excel​​ xlRange.Columns.Count arResults(indRow, indColumn)​ этой задачи не​ цветом. Если же​Если ячейки закрашивал​Hugo​

Пользовательские функции для определения кодов цвета заливки ячеек и цвета шрифта

​ нарыть в интеренте​ еще проще. Замените​ Editor)​ светло зеленый, то​ разделом.​ книгу Excel, например,​ «Color=» & Left(«000000»,​Format only top or​

​ с заданным цветом​​ Each wshCurrent In​ выше описанного кода​ в формате​ = xlRange(indRow, indColumn).Font.Color​ существует. Но, к​ в ячейках хранятся​ компьютер ( через​: Никак.​ не работает. если​

Функции, которые считают количество по цвету:

  • ​ в ней 7-ю​​В новых версиях Excel​ коды этих цветов​Идея заключается в том,​ ошибки компиляции, не​ 6 — Len(Hex(indRefColor)))​ bottom ranked values​ шрифта.​ Worksheets wshCurrent.Activate vWbkRes​

    ​ VBA Вам вдруг​

    ​.xlsm​​ Next Next GetCellFontColor​​ счастью, в нашей​ числа, то, вероятно,​​ условное форматирование) ,​​Но можно сделать​ возможно окажите помощь​ строку на:​

    ​ 2007-2013 перейти на​ могут совпасть. Подробнее​ чтобы автоматически вывести​

  • ​ работающие формулы и​​ & _ Hex(indRefColor)​(Форматировать только первые​SumCellsByColor(диапазон, код_цвета)​

Функции, которые суммируют значения по цвету ячейки:

  • ​ = vWbkRes +​​ потребуется раскрасить ещё​(Книга Excel с​ = arResults Else​
  • ​ команде есть очень​​ Вы захотите вычислить​ тогда можно воспользоваться​ по событию выделения​

Функции, которые возвращают код цвета:

  • ​Serge_007​​Sum = Sum +​ вкладку​ об этом см.​
  • ​ в соседнем столбце​​ так далее, Вы​ & vbCrLf, ,​ или последние значения);​Подсчет и суммирование ячеек по цвету в Excel

​– вычисляет сумму​ SumCellsByColor(wshCurrent.UsedRange, cellRefColor) Next​ несколько ячеек вручную,​ поддержкой макросов).Если Вы​ GetCellFontColor = xlRange.Font.Color​ умелые и знающие​ сумму всех ячеек​ формулами условного форматирования​ ячейки — хотя​:​ 1​Разработчик (Developer)​ лист файла примера​ числовой код фона​ можете скачать рабочую​ «Count & Sum​Format only values that​ ячеек с заданным​

Как посчитать количество и сумму ячеек по цвету, раскрашенных при помощи условного форматирования

​ Application.ScreenUpdating = True​ сумма и количество​ не слишком уверенно​ End If End​ Excel гуру, и​ с одинаковой заливкой,​ и найти нужную/​ это костыли, и​Quote​К сожалению изменение цвета​и нажать кнопку​ Colors. Как следствие,​ ячейки (в MS​ книгу Excel с​ by Conditional Format​ are above or​ цветом заливки.​ Application.Calculation = xlCalculationAutomatic​ ячеек не будут​ чувствуете себя с​ Function Function CountCellsByColor(rData​ один из них​:(

​ например, сумму всех​ сумму.​ ненадёжные, и тормозные​(julytt)200?’200px’:»+(this.scrollHeight+5)+’px’);»>олько не с​ заливки или цвета​ Visual Basic. Если​ будут сложены значения​ EXCEL все цвета​ примерами и с​ color» End Sub​ below average​

  • ​SumCellsByFontColor(диапазон, код_цвета)​ WbkSumCellsByColor = vWbkRes​​ пересчитаны автоматически после​ VBA, то посмотрите​ As Range, cellRefColor​
  • ​ написал безупречный код​ красных ячеек.​​Если цветные ячейки​ в целом.​
  • ​ помощью Надстройки MyAddin​ шрифта ячейки Excel​ такой вкладки у​​ из ячеек с​ имеют соответствующий числовой​ готовыми к использованию​
  • ​Добавьте код, приведённый выше,​(Форматировать только значения,​​– вычисляет сумму​ End Function​

​ этих изменений. Не​ подробную пошаговую инструкцию​ As Range) As​ для Excel 2010​Как известно, Microsoft Excel​ имеют какую-нибудь периодичность​Ставьте подсчёт на​Вы сами себе​ не считает изменением​ вас не видно,​ разными цветами. ​ код). Для этого​ функциями​ на Ваш лист,​ которые находятся выше​ ячеек с заданным​Добавьте этот макрос точно​ ругайте нас, это​

​ и массу полезных​ Long Dim indRefColor​ и 2013. Итак,​ предоставляет набор функций​ ( напр каждая​ кнопку.​ противоречите​ ее содержимого, поэтому​ то включите ее​В файле примера на​ нам потребуется функция,​CountCellsByColor​ как мы делали​ или ниже среднего);​ цветом шрифта.​ также, как и​

​ не погрешности кода​ советов в учебнике​ As Long Dim​ выполните 5 простых​ для различных целей,​ четвертая имеет синий​P.S. И кстати​Вот аналогичная тема:​ не запускает пересчет​ в настройках​ листе VBA приведено​ которая может вернуть​и​ это в первом​Format only unique or​GetCellFontColor(ячейка)​ предыдущий код. Чтобы​На самом деле, это​ Как вставить и​ cellCurrent As Range​ шагов, описанных далее,​ и логично предположить,​ цвет, а все​ у Вас в​Народ подскажите как​ формул. То есть​Файл — Параметры -​ решение с помощью​ этот код. Ни​SumCellsByColor​ примере.​ duplicate values​– возвращает код​

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

  1. ​ получить количество и​ нормальное поведение макросов​ запустить код VBA​ Dim cntRes As​ и через несколько​
  2. ​ что существуют формулы​ красные заполнялись только​ формуле баксов не​ посчитать сумму ячеек​ при перекрашивании исходных​ Настройка ленты (File​ VBA. Решений может​
  3. ​ одна обычная функция​​, и испытать их​​Выберите диапазон (или диапазоны),​(Форматировать только уникальные​ цвета шрифта в​​ сумму цветных ячеек​​ в Excel, скриптов​
  4. ​ в Excel.​​ Long Application.Volatile cntRes​​ минут Вы узнаете​ для подсчёта ячеек​ по четным дням​
  5. ​ хватает — диапазон​​ выделенных цветом​​ ячеек с числами​​ — Options -​​ быть множество:​​ этого не умеет.​Подсчет и суммирование ячеек по цвету в Excel​ на своих данных.​ в которых нужно​

    Подсчет и суммирование ячеек по цвету в Excel

​ или повторяющиеся значения).​ выбранной ячейке.​​ используйте вот такие​​ VBA и пользовательских​Когда все закулисные действия​

  • ​ = 0 indRefColor​​ количество и сумму​ по цвету. Но,​ календаря) то это​ сдвинулся, осторожно, может​Вот тема с​ в другие цвета​​ Customize Ribbon)​​можно создать кнопку, после​
  • ​ Используем макрофункцию ПОЛУЧИТЬ.ЯЧЕЙКУ(),​​Урок подготовлен для Вас​ сосчитать цветные ячейки​Кроме того, практически все​GetCellColor(ячейка)​​ формулы:​​ функций (UDF). Дело​ будут выполнены, выберите​ = cellRefColor.Cells(1, 1).Interior.Color​​ ячеек нужного цвета.​​ к сожалению, не​
  • ​ тоже реально посчитать.​​ наврать!​ форума Microsoft:​ итоговая сумма по​В окне редактора вставьте​​ нажатия она будет​​ которая возвращает код​

Рабочая книга с примерами для скачивания

​ командой сайта office-guru.ru​ или просуммировать по​ эти коды VBA​– возвращает код​=WbkCountCellsByColor()​ в том, что​ ячейки, в которые​ For Each cellCurrent​Откройте книгу Excel и​ существует формулы, которая​ Но для этого​Tyron​​Суммирование по ячейкам,​​ нашей функции пересчитываться​​ новый модуль через​​ вводить код цвета​ цвета заливки ячейки​

​Источник: https://www.ablebits.com/office-addins-blog/2013/12/12/count-sort-by-color-excel/​ цвету, если в​
​ имеют целый ряд​
​ цвета заливки в​

​=WbkSumCellsByColor()​

office-guru.ru

Сложение значений в зависимости от цвета ячеек в MS EXCEL

​ все подобные функции​ нужно вставить результат,​ In rData If​ нажмите​ позволила бы на​

​ надо видеть файл​: Спасибо!​ выделенным цветом​ не будет.​ меню​ в соседний столбец​ (она может много,​Перевел: Антон Андронов​ них содержатся числовые​

​ особенностей и ограничений,​ выбранной ячейке.​Просто введите одну из​ вызываются только изменением​ и введите в​

​ indRefColor = cellCurrent.Interior.Color​Alt+F11​ обычном листе Excel​Файл можно загрузить​Мария​julytt​Полностью решить эту проблему​Insert — Module​

​ (реализован этот вариант).​ но нам потребуется​Автор: Антон Андронов​ данные.​ из-за которых они​

С помощью Автофильтра (ручной метод)

  • ​Итак, посчитать количество ячеек​ этих формул в​ данных на листе,​
  • ​ них функцию​ Then cntRes =​, чтобы запустить редактор​
  • ​ суммировать или считать​ сюда​

  • ​: подскажите пожалуйста, могу​: спасибо за подсказку​
  • ​ невозможно, но можно​и скопируйте туда​

  • ​можно написать пользовательскую функцию,​ только это ее​

​Просуммируем значения ячеек в​Нажмите и удерживайте​ могут не работать​

​ по их цвету​ любую пустую ячейку​

С помощью Макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()

​ но Excel не​CountCellsByColor​ cntRes + 1​Visual Basic for Applications​ по цвету.​

​http://files.mail.ru/​ ли сделать так,​ буду читать​ ее существенно облегчить.​ текст вот такой​ которая будет автоматически​ свойство). ​ зависимости от цвета​Ctrl​ корректно с какой-то​ и вычислить сумму​ на любом листе​ расценивает изменение цвета​:​ End If Next​(VBA).​Если не использовать сторонние​Денис​ чтобы в графике,​RAN​

​ Для этого в​​ функции:​ обновлять код цвета​Примечание:​ их заливки. Здесь​, кликните по одной​ конкретной книгой или​ значений в раскрашенных​ Excel. Диапазон указывать​ шрифта или заливки​CountCellsByColor(диапазон, код_цвета)​ cellCurrent CountCellsByColor =​Правой кнопкой мыши кликните​ надстройки, существует только​: условное форматирование, создать​ где проставлены все​: Почему так категорично?​

  • ​ третьей строке нашей​​Public Function SumByColor(DataRange​​ при изменении цвета​Макрофункции — это набор​ же покажем, как​ ячейке нужного цвета,​
  • ​ типами данных. Так​ ячейках оказалось совсем​
  • ​ не нужно, но​

  • ​ ячейки как изменение​
  • ​В этом примере мы​​ cntRes End Function​​ по имени Вашей​ одно решение –​

​ правило. дальше не​ сроки платежей, считать​julytt​

​ функции используется команда​

  • ​ As Range, ColorSample​ ячейки (реализовать несколько​ функций к EXCEL​ подсчитать такие ячейки.​ затем отпустите​ или иначе, Вы​​ не сложно, не​​ необходимо в скобках​ данных. Поэтому, после​​ используем формулу​​ Function SumCellsByColor(rData As​​ рабочей книги в​​ создать пользовательскую функцию​
  • ​ помню. смотреть лень.​ только оплаченные, при​: сисадмины неразрешают ничего​Application.Volatile True​ As Range) As​ сложнее);​ 4-й версии, которые​Функции для суммирования значений​Ctrl​ можете попытать счастье​ так ли? Но​ указать любую ячейку​ изменения цвета ячеек​=CountCellsByColor(F2:F14,A17)​

С помощью VBA

​ Range, cellRefColor As​ области​ (UDF). Если Вы​ там ничего сложного​ выделении их цветом.​

  • ​ устанавливать​. Она заставляет Excel​ Double Dim Sum​можно написать программу, которая​ нельзя напрямую использовать​
  • ​ по цвету ячеек​.​ и google в​ что если Вы​ с заливкой нужного​ вручную, просто поставьте​
  • ​, где​ Range) Dim indRefColor​Project – VBAProject​ мало знаете об​ — разберешься​ Т.К., нужна сумма​Serge_007​ пересчитывать результаты нашей​ As Double Application.Volatile​ будет анализировать диапазон​ на листе EXCEL​ в EXCEL не​Нажмите​ поисках идеального решения,​ не раскрашиваете ячейки​ цвета, например,​

excel2.ru

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

​ курсор на любую​F2:F14​ As Long Dim​, которая находится в​ этой технологии или​rasinv​ только оплаченных​: Надстройка — это​ функции при изменении​ True For Each​ цветных ячеек, определять​ современных версий, а​ существует (по крайней​Alt+F8​ и если Вам​ вручную, а предпочитаете​=WbkSumCellsByColor(A1)​

​ ячейку и кликните​– это диапазон,​ cellCurrent As Range​ левой части экрана,​ вообще никогда не​: есть несколько таблиц​Pelena​

​ просто книга Excel,​

  • ​ любой ячейки на​ cell In DataRange​ количество различных цветов,​ можно использовать только​​ мере, в EXCEL​, чтобы открыть список​ удастся найти его,​ использовать условное форматирование,​, и формула вернет​
  • ​F2​ содержащий раскрашенные ячейки,​ Dim sumRes Application.Volatile​​ далее в появившемся​​ слышали этого термина,​ одной и той​:​ в которой хранятся​ листе (или по​ If cell.Interior.Color =​​ вычислять в отдельном​ в качестве Именованной формулы.​ 2016 и в​ макросов в Вашей​

​ пожалуйста, возвращайтесь и​ как мы делали​ сумму всех ячеек​​, а затем​​ которые Вы хотите​ sumRes = 0​ контекстном меню нажмите​

​ не пугайтесь, Вам​ же длинны и​Мария​ макросы​ нажатию ​ ColorSample.Interior.Color Then Sum​ диапазоне суммы для​ Макрофункции — промежуточный​ более ранних версиях).​ рабочей книге.​ опубликуйте здесь свою​ это в статьях​ в книге, окрашенных​Enter​

​ посчитать. Ячейка​ indRefColor = cellRefColor.Cells(1,​Insert​​ не придётся писать​​ высоты​, читаем Правила форума,​​Как Вы будете​​F9​ = Sum +​ каждого цвета (реализовать​

Excel сумма по цвету ячейки вȎxcel​ вариант между обычными​

​ Вероятно, подавляющему большинству пользователей​

  • ​Выберите макрос​​ находку!​ Как изменить цвет​
  • ​ в этот же​​, сумма и количество​A17​ 1).Interior.Color For Each​

Цвет шрифта

​>​ код самостоятельно. Здесь​возможно подсчитать сумму​ создаём свою тему​ использовать ДРУГИЕ макросы,​).​ cell.Value End If​ не сложно, но​​ функциями и функциями​​ это не требуется. ​​Sum​​Код VBA, приведённый ниже,​ заливки ячеек и​

Количество вместо суммы

​ цвет.​ после этого обновятся.​– содержит определённый​ cellCurrent In rData​Module​ Вы найдёте отличный​ в ячейках с​ и прикладываем файл​ если макросы из​

​И помните о том,​ Next cell SumByColor​

Нюансы пересчета

​ у каждого пользователя​ VBA. Для работы​Пусть дан диапазон ячеек​CountByConditionalFormat​ преодолевает все указанные​ Как изменить цвет​Здесь Вы найдёте самые​ Так нужно сделать,​ цвет заливки, в​ If indRefColor =​.​ готовый код (написанный​ определенным цветом?​

​ с примером​ MyAddin ?​ что наша функция​ = Sum End​ свои требования: ячейки​ с этими функциями​​ в столбце А.​​и нажмите​ выше ограничения и​ заливки строки, основываясь​ важные моменты по​ работая с любым​ нашем случае красный.​​ cellCurrent.Interior.Color Then sumRes​​Вставьте на свой лист​

​ нашим гуру Excel),​будет ли сохранятся​Как в эксель сложить​RAN​ перебирает все (и​​ Function​​ с суммами должны​ требуется сохранить файл​ Пользователь выделил цветом​Run​ работает в таблицах​

planetaexcel.ru

Подсчет ячеек определенного цвета

​ на значении ячейки?​​ всем функциям, использованным​
​ макросом, который Вы​Точно таким же образом​ = WorksheetFunction.Sum(cellCurrent, sumRes)​ вот такой код:​ и всё, что​ суммирование при копирование​ ячейки одного цвета?​: Ну, если надстройку​ пустые тоже) ячейки​Если теперь вернуться в​ быть в определенном​
​ в формате с​ ячейки, чтобы разбить​(Выполнить).​ Microsoft Excel 2010​Если Вы применили условное​ нами в этом​ найдёте далее в​ Вы записываете формулу​

​ End If Next​​Function GetCellColor(xlRange As​ Вам потребуется сделать​ таблицы в одном​

​ Нашла в просторах​​ низзя, тогда отдельно​ в диапазоне​ Excel, то в​ месте, необходимо учесть​ макросами *.xlsm​ значения по группам.​В результате Вы увидите​

​ и 2013, с​​ форматирование, чтобы задать​​ примере, а также​​ этой статье.​ для других цветов,​
​ cellCurrent SumCellsByColor =​ Range) Dim indRow,​smile
​ – это скопировать​
​ листе?​ интернета вот это​ зти макросы здесь.​
​DataRange​ Мастере функций (​
​ возможность дополнения диапазона​Сделайте активной ячейку​

​Необходимо сложить значения ячеек​​ вот такое сообщение:​ любыми типами условного​

​ цвет заливки ячеек​​ пару новых функций,​

​Представленный ниже скрипт Visual​​ которые требуется посчитать​ sumRes End Function​

​ indColumn As Long​​ его и вставить​буду очень признателен​ :​Надстройка для суммирования​
​и не задавайте​Вставка — Функция​ новыми значениями и​В7​biggrin

​ в зависимости от​​Для этого примера мы​ форматирования (и снова​ в зависимости от​biggrin
​ которые определяют коды​ Basic был написан​ в таблице (жёлтый​

​ Function CountCellsByFontColor(rData As​​ Dim arResults() Application.Volatile​ в свою рабочую​ за помощь​Summ_CellColor — сумирование​

excelworld.ru

Народ подскажите как посчитать сумму ячеек выделенных цветом (Народ подскажите как посчитать сумму ячеек выделенных цветом)

​ по цвету заливки,шрифта,​​ в качестве первого​) в появившейся там​ пр.).​

​(это важно, т.к.​​ цвета фона. Основная​ выбрали столбец​ спасибо нашему гуру!).​ их значений, и​ цветов.​ в ответ на​

​ и зелёный).​​ Range, cellRefColor As​ If xlRange Is​ книгу.​

​skype: rasinv​​ ячеек с определенным​ формату​ аргумента целый столбец​
​ категории​Помечать ячейки цветом, используя​ мы будем использовать​ задача: Как нам​Qty.​
​ В результате он​ теперь хотите посчитать​Замечание:​

​ один из комментариев​​Если в раскрашенных ячейках​
​ Range) As Long​ Nothing Then Set​Считаем и суммируем по​e-mail: rasinv_inbox.ru​ цветом заливки, включая​julytt​
​ — «думать» будет​Определенные пользователем (User Defined)​
​ заливку или цвет​ относительную адресацию в​ «объяснить» функции сложения,​и получили следующие​ выводит количество раскрашенных​ количество ячеек определённого​

​Пожалуйста, помните, что​​ читателей (также нашим​

​ содержатся численные данные​​ Dim indRefColor As​ xlRange = Application.ThisCell​ цвету, когда ячейки​Все имена заняты​ условное форматирование;​: Всем спасибо з​ долго :)​можно найти нашу​ шрифта, очень удобно​

​ формуле)​​ что нужно складывать​​ цифры:​​ ячеек и сумму​ цвета или сумму​ все эти формулы​ гуру Excel) и​

excelworld.ru

Как в эксель сложить ячейки одного цвета ?

​ (например, столбец​ Long Dim cellCurrent​ End If If​ раскрашены вручную​: Через пользовательскую функцию.​

​Summ_CellFont — сумирование​ участие и помощь.​julytt​ функцию и вставить​
​ и наглядно. Если​В Диспетчере имен введите​ значения, например, только​Count​
​ значений в этих​ значений в них,​ будут работать, если​
​ выполняет именно те​Qty.​ As Range Dim​ xlRange.Count > 1​
​Считаем сумму и количество​ См. ячейку C15.​ ячеек с определенным​
​ Разбираюсь. Надеюсь все​: Доброго дня всем!​ ее на лист:​

​ вы не дальтоник,​ формулу =ПОЛУЧИТЬ.ЯЧЕЙКУ(63;Макрофункция!A7)​ зеленых ячеек?​

​– это число​ ячейках, независимо от​

​ то у меня​​ Вы уже добавили​ действия, которые упомянул​в нашей таблице),​
​ cntRes As Long​ Then ReDim arResults(1​ ячеек по цвету​rasinv​
​ цветом шрифта, включая​ получиться.​Пытаюсь усовершеннствовать таблицы,​ ​ конечно :) Трудности​Назовите ее Цвет​Это можно сделать разными​
​ ячеек искомого цвета;​ типа условного форматирования,​ для Вас плохие​ в свою рабочую​ автор комментария, а​ Вы можете суммировать​ Application.Volatile cntRes =​ To xlRange.Rows.Count, 1​ во всей книге​: ГРОМАДНОЕ СПАСИБО​ условное форматирование;​
​Nikls2502​ с которыми работаю.​
​У нее два аргумента:​

​ возникают тогда, когда​​Закройте Диспетчер имен​ способами, приведем 3​ в нашем случае​ применённого на листе.​ новости – не​

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

​ книгу Excel пользовательскую​​ именно считает количество​ значения на основе​ 0 indRefColor =​ To xlRange.Columns.Count) For​
​Считаем и суммируем по​ОЧЕНЬ ПОМОГ!!!​Summ_CellFormat — сумирование​
​: Народ подскажите как​ Возникает множество вопросов.​DataRange​ по такой раскрашенной​
​Введите в ячейку​ из них: с​
​ это красноватый цвет,​
​Sub SumCountByConditionalFormat() Dim​

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

​ выбранного цвета ячейки,​​ cellRefColor.Cells(1, 1).Font.Color For​
​ indRow = 1​

CyberForum.ru

​ цвету, когда к​

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

  • Подсчет и сумма ячеек на основе определенного цвета заливки с помощью фильтра и промежуточного итога
  • Подсчет и суммирование ячеек на основе определенного цвета заливки функцией GET.CELL
  • Подсчет и суммирование ячеек на основе определенного цвета заливки с помощью функции, определяемой пользователем
  • Подсчет и сумма ячеек на основе определенного цвета заливки с помощью функций Kutools
  • Подсчет и суммирование ячеек на основе определенного цвета заливки (или цвета условного форматирования) с Kutools for Excel

Подсчет и сумма цветных ячеек с помощью фильтра и ПРОМЕЖУТОЧНОГО ИТОГА

Предположим, у нас есть таблица продаж фруктов, как показано на скриншоте ниже, и мы посчитаем или просуммируем цветные ячейки в столбце «Сумма». В этой ситуации мы можем отфильтровать столбец Amount по цвету, а затем легко подсчитать или суммировать отфильтрованные цветные ячейки с помощью функции SUBTOTAL в Excel.

1. Выберите пустые ячейки, чтобы войти в функцию ПРОМЕЖУТОЧНЫЙ ИТОГ.

  1. Чтобы подсчитать все ячейки с одинаковым цветом фона, введите формулу = ПРОМЕЖУТОЧНЫЙ ИТОГ (102; E2: E20);
  2. Чтобы суммировать все ячейки с одинаковым цветом фона, введите формулу = ПРОМЕЖУТОЧНЫЙ ИТОГ (109; E2: E20);


Внимание: В обеих формулах E2: E20 — это столбец Сумма, содержащий цветные ячейки, и вы можете изменить их по своему усмотрению.

2. Выберите заголовок таблицы и нажмите Данные > Фильтр. Смотрите скриншот:

3. Щелкните значок фильтра  в ячейке заголовка столбца Сумма и щелкните Фильтр по цвету и указанного цвета вы будете считать по очереди. Смотрите скриншот:

После фильтрации обе формулы SUBTOTAL подсчитывают и суммируют все отфильтрованные цветные ячейки в столбце Amount автоматически. Смотрите скриншот:

Внимание: Этот метод требует, чтобы цветные ячейки, которые вы будете подсчитывать или суммировать, находятся в одном столбце.

Один щелчок для подсчета, суммирования и усреднения цветных ячеек в Excel

С отличным Считать по цвету особенность Kutools for Excel, вы можете быстро подсчитывать, суммировать и усреднять ячейки по заданному цвету заливки или цвету шрифта всего одним щелчком мыши в Excel. Кроме того, эта функция также будет определять максимальное и минимальное значения ячеек по цвету заливки или цвету шрифта.

количество объявлений по цвету 2

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: подсчет и суммирование ячеек на основе цвета фона:

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

3. Затем сохраните код и примените следующую формулу:
А. Подсчитайте цветные клетки: = цветовая функция (A; B: C; ЛОЖЬ)
Б. Суммируйте цветные ячейки: = функция цвета (A; B: C; ИСТИНА)

Примечание. В формулах выше A — это ячейка с определенным цветом фона, для которого нужно вычислить количество и сумму, и ДО Н.Э — это диапазон ячеек, в котором вы хотите вычислить количество и сумму.

4. Например, сделайте следующий снимок экрана, введите формулу= цветовая функция (A1; A1: D11; ЛОЖЬ) подсчитать желтые клетки. И воспользуйтесь формулой = цветовая функция (A1; A1: D11; ИСТИНА) суммировать желтые ячейки. Смотрите скриншот:

5. Если вы хотите подсчитать и суммировать другие цветные ячейки, повторите шаг 4. Тогда вы получите следующие результаты:


Подсчет и сумма ячеек на основе определенного цвета заливки с помощью функций Kutools

Kutools for Excel также поддерживает некоторые полезные функции, помогающие пользователям 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 Функции содержат ряд встроенных функций, помогающих пользователям Excel легко вычислять, в том числе Количество / Сумма / Среднее количество видимых ячеек, Подсчет / сумма по цвету ячейки, Подсчет / сумма по цвету шрифта, Считайте символы, Считать жирным шрифтом, И т.д. Получите бесплатную пробную версию!


Подсчет и суммирование ячеек на основе определенного цвета заливки с помощью Kutools for Excel

С помощью указанной выше функции, определяемой пользователем, вам необходимо вводить формулу один за другим, если есть много разных цветов, этот метод будет утомительным и трудоемким. Но если у вас есть Kutools for ExcelАвтора Считать по цвету утилита, вы можете быстро сформировать отчет по цветным ячейкам. Вы можете не только подсчитывать и суммировать цветные ячейки, но также получать среднее, максимальное и минимальное значения цветного диапазона.

1. Выберите диапазон, который вы хотите использовать, и нажмите Кутулс Плюс > Считать по цвету, см. снимок экрана:

2. И в Считать по цвету диалоговое окно, пожалуйста, сделайте как показано на скриншоте ниже:
(1) Выберите Стандартное форматирование из Цветовой метод раскрывающийся список;
(2) Выберите проверка данных
из Тип подсчета выпадающий список.
(3) Нажмите кнопку «Создать отчет».

Внимание: Чтобы подсчитать и суммировать цветные ячейки по определенному условному цвету форматирования, выберите Условное форматирование из Цветовой метод раскрывающийся список в диалоговом окне выше или выберите Стандартное и условное форматирование из раскрывающегося списка, чтобы подсчитать все ячейки, заполненные указанным цветом.

Теперь вы получите новую книгу со статистикой. Смотрите скриншот:

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


Связанная статья:


Демонстрация: подсчет и суммирование ячеек на основе фона, цвет условного форматирования:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Формула в excel сумма только положительных чисел
  • Формула в excel сумма строчек
  • Формула в excel сумма с шагом
  • Формула в excel сумма произведений двух столбцов
  • Формула в excel сумма при фильтре