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 2007 в программе встроили возможность сортировки ячеек по цвету. Таким образом, можно отфильтровать нужный нам цвет, выделить оставшиеся на виду ячейки и визуально посмотреть общее количество ячеек. Но что делать, если нам требуется делать это часто и при этом нам необходимо, чтобы все считалось и пересчитывалось с помощью формул.

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

Итак, приступим. Зайдите в редактор Visual Basic, для этого:

в Excel 2003 нажмите на Сервис, далее Макрос и затем Редактор Visual Basic.

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

в Excel 2007, 2010 и 2013 это делается по-другому. Зайдите в раздел Разработчик, далее выберите Visual Basic

Внимание! Раздел панели инструментов Разработчик в Excel 2007 доступен по умолчанию, а в Excel 2010 и 2013 его необходимо включить. Это особенно полезно сделать тем пользователям, которые будут часто работать с макросами. Чтобы включить панель инструментов Разработчик в Excel 2010 или 2013 необходимо запустить Файл | Параметры | Настройка ленты после этого необходимо с правой стороны необходимо поставить галочку напротив надписи Разработчик

включение редактора Visual Basic

После того как откроется редактор Visual Basic, вставьте пустой модуль, для этого выберите меню Insert и далее Module

вставить модуль
и скопируйте туда текст простой функции:

Public Function ColorNom(Cell As Range)
ColorNom = Cell.Interior.ColorIndex
End Function

После этого закройте редактор Visual Basic и можно вернуться к нашему файлу. В любой пустой ячейки введите пользовательскую функцию, которую мы ввели раннее. В нашем случае это функция ColorNom, ее можно вызвать либо через меню Вставка, Функция — категория Определенные пользователем, либо просто  можно напечатать ее в самой ячейке =ColorNom(A1), где A1 — это наша ячейка, в которой нам необходимо определить индекс цвета.

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

После этого уже не составит труда посчитать количество ячеек или значений в зависимости от цвета ячейки. Используйте нашу статью как посчитать в Excel количество ячеек/значений

Если вам необходимо посчитать количество значений или сумму в зависимости от цвета текста, то необходимо немного изменить код пользовательской функции.

Public Function ColorNom(Cell As Range)
ColorNom = Cell.Font.ColorIndex
End Function

Важно! Вы не сможете находить с помощью данной функции номер цвета ячейки при использовании условного форматирования. Кроме того, при изменении цвета ячейки Excel не пересчитывает значения, необходимо это делать в ручную, нажимая Ctrl+Alt+F9, либо изменения будут происходить при новом открытии данного файла. Это происходит из-за того, что Excel не считает изменение цвета ячейки редактированием формулы. В связи с этим, если это критично, то можно внести изменение в саму формулу, просто добавив функцию, которая постоянно пересчитывается и при этом не повлияет на определение цвета ячейки. Например, указать функцию определения текущей даты, умноженную на ноль.
В нашем случае функция будет выглядеть следующем образом.

=ColorNom(A1)+Сегодня()*0

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

Рассмотрим вышеуказанный пример с перечнем фруктов. Мы определили код ячеек и отобразили его напротив каждой ячейки.

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

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

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

Считать количество мы будем с помощью функции СЧЁТЕСЛИ

Вот так выглядят аргументы данной функции

=СЧЁТЕСЛИ(диапазон;критерий)

Пропишем формулу:

=СЧЁТЕСЛИ($B$1:$B$8;E2)

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

Скачать пример файла: Цвет_Ячеек.xlsm (файл с поддержкой макросов)

Как посчитать цветные ячейки в Excel.

​Смотрите также​​ и выделенный диапазон.​Guest​ ​ цвету, только по​​ невозможно, но можно​ в Excel».​ которое должно окраситься.​=AND($D2>=5,$D2​» означает, что правило​ выделить их розовым​>​ действия все элементы​После этого в нижней​«OK»​
​ выставляем переключатель в​ если значение ячейки,​
​.​Рассмотрим,​ Выводит также статистику​: Лузер, Вы Бог!​
​ адресу​ ее существенно облегчить.​Помечать ячейки цветом, используя​ Например, мы написали​Конечно же, в своих​ форматирования будет применено,​ цветом. Для этого​Создать правило​ столбца будут закрашены,​
​ части окошка открываются​.​ позицию​ вследствие изменения выйдет​
​Подсчет цветных ячеек в​
​как посчитать количество цветных​ ​ в статусной строке.​
​А как узнать​Эля коробицына​ Для этого в​ заливку или цвет​ слово «Москва». Нам​ формулах Вы можете​ если заданный текст​
​ нам понадобится формула:​
​(Home > Conditional​ согласно тому числовому​ результаты поисковой выдачи.​Как видим, после этого​«Между»​ за пределы границы,​Excel.​ ячеек в​Подробности — в​ соответствие цветов номерам?​: с помощью условного​​ третьей строке нашей​ шрифта, очень удобно​ нужно, чтобы выделились​ использовать не обязательно​ (в нашем случае​=$C2>9​
​ Formatting > New​ значению, которое в​ Кликаем левой кнопкой​ ячейки в колонке​. В третьем поле​ то автоматически произойдет​Как посчитать цветные ячейки в Excel.​Несколько разных способов​Excel​ CHM-справке.​
​barrel​ форматирования, оно скорее​ функции используется команда​ и наглядно. Если​ все ячейки со​
​ два, а столько​ это «Due in»)​Для того, чтобы оба​ rule).​ них размещено. Теперь​ мыши по любому​ окрашиваются различными оттенками​
​ нужно указать начальное​
​ перекрашивание данного элемента​ описано в статье​. Закрасить ячейки в​История:​: …хотел сказать:​ всего уже задано.​Application.Volatile True​ вы не дальтоник,​
​ словом «Москва» в​ условий, сколько требуется.​ ​ будет найден.​​ созданных нами правила​
​В появившемся диалоговом окне​​ можно закрывать окно​ из них. Затем​ ​ одного цвета. Чем​​ значение диапазона, в​ листа.​
​ «Количество выделенных строк​
​ таблице можно самим,​Версия 1, код​А как узнать​ Определить правило задания​. Она заставляет Excel​ конечно :) Трудности​ столбце с адресами.​
​ Например:​Подсказка:​ работали одновременно, нужно​Создание правила форматирования​​ поиска, нажав стандартную​ набираем комбинацию клавиш​
​ значение, которое содержит​ котором будут форматироваться​Посмотрим, как этот способ​ в Excel» тут.​ можно установить условное​ рабочий, но не​ коды цветов​ цвета и дальше​ пересчитывать результаты нашей​ возникают тогда, когда​Нажимаем «ОК». Получилось так.​
​=ИЛИ($F2=»Due in 1 Days»;$F2=»Due​​Если в формуле​
​ расставить их в​ ​(New Formatting Rule)​
​ кнопку закрытия в​Ctrl+A​ элемент листа больше,​ элементы листа. В​ работает на конкретном​ Как посчитать цветные​ форматирование, чтобы ячейки​ работало меню:​Лузер™​ «плясать» от него​ функции при изменении​
​ по такой раскрашенной​​Можно в правилах​
​ in 3 Days»;$F2=»Due​ используется условие «​ нужном приоритете.​ выбираем вариант​ верхнем правом углу​. После этого выделяются​ тем оттенок светлее,​ нашем случае это​ примере. Имеем таблицу​ ячейки в Excel,​ окрашивались по условию.​
​Версия 2, полностью​: Макрорекордером записываете назначение​RazorBaze​ любой ячейки на​ таблице возникает необходимость​ условного форматирования настроить​ in 5 Days»)​>0​На вкладке​Использовать формулу для определения​ окна, так как​ все результаты поисковой​ чем меньше –​ число​ доходов предприятия, в​ если ячейки окрашены​

excel-office.ru

Заливка ячеек в зависимости от значения в Microsoft Excel

Заливка цветом ячеек в Microsoft Excel

​ Как настроить таблицу,​ рабочая:​ ячейке заливки, смотрите​: Доброго времени суток!​ листе (или по​ сделать отчет. И​ так, что вся​=OR($F2=»Due in 1 Days»,$F2=»Due​«, то строка будет​Главная​ форматируемых ячеек​ нашу задачу можно​ выдачи и одновременно​ тем темнее.​400000​ которой данные разбиты​ в несколько разных​ чтобы ячейки окрашивались​Версия 3, оптимизирована​ какой получился код.​Проблема такая: нужен​ нажатию ​ если фильтровать и​ ячейка закрашиваться не​ in 3 Days»,$F2=»Due​ выделена цветом в​

​(Home) в разделе​(Use a formula​

Процедура изменения цвета ячеек в зависимости от содержимого

​ считать решенной.​ выделяются элементы в​Урок:​. В четвертом указываем​ помесячно. Нам нужно​ цветов. Как посчитать​ по условию, смотрите​ по скорости выполнения:​Или вот с​ способ быстрого выделения​F9​ сортировать по цвету​ будет, а будет​ in 5 Days»)​ каждом случае, когда​Стили​ to determine which​Но если мы заменим​

​ столбце, на которые​Условное форматирование в Экселе​ конечное значение данного​ выделить разными цветами​ количество цветных ячеек​ в статье «Условное​—​ диалоговым окном:​ СРАЗУ ВСЕХ имеющихся​).​ Excel в последних​ окрашен, только, текст.​Подсказка:​ в ключевой ячейке​(Styles) нажмите​ cells to format),​ число на другое,​ данные результаты ссылаются.​Если в таблице находятся​ диапазона. Оно составит​ те элементы, в​

​ формулой, фильтром, т.д.​ форматирование в Excel».​ZVI​Sub Макрос1()​ на (одном) Листе​И помните о том,​ версиях научился, то​​Для этого выделяем​​Теперь, когда Вы​

Способ 1: условное форматирование

​ будет найден заданный​Условное форматирование​ и ниже, в​ выходящее за границы,​После того, как элементы​ статические данные, которые​500000​ которых величина доходов​Третий способ​У нас такая​Лузер™​Dim s As​ ячеек определённого цвета,​ что наша функция​

​ суммировать по цвету​ столбец. На нажимаем​ научились раскрашивать ячейки​ текст, вне зависимости​(Conditional Formatting) >​ поле​ которые установлены для​ в столбце выделены,​ не планируется со​. После этого щелкаем​​ менее​​.​​ таблица.​​: ZVI, в очередной​​ Range, rr As​​ либо стиля,​​ перебирает все (и​​ до сих пор​

  1. ​ на кнопку «Условное​ в разные цвета,​ от того, где​Управление правилами​​Форматировать значения, для которых​​ конкретного цвета, то​​ не спешим закрывать​​ временем изменять, то​ по кнопке​400000​​Можно настроить таблицу​​Как закрасить ячейку самим,​ раз не устаю​​ Range, myCell As​​чтобы потом их​

    Переход к управлению правилами в Microsoft Excel

  2. ​ пустые тоже) ячейки​ не умеет.​ форматирование», делаем, как​​ в зависимости от​​ именно в ячейке​(Manage Rules)​​ следующая формула является​​ цвет не поменяется,​ окно​ можно воспользоваться инструментом​«Формат…»​рублей, от​ так, что после​ смотрите в статье​ восхищаться!​ Range​ сразу все, одновременно,​​ в диапазоне​​Чтобы исправить этот существенный​

    Переход к созданию правила в Microsoft Excel

  3. ​ описано выше. Но,​ содержащихся в них​ он находится. В​В выпадающем списке​​ истинной​ как это было​​«Найти и заменить»​ для изменения цвета​.​400000​​ фильтра порядковый номер​​ «Текст Excel. Формат.»​Вот только как​Set myCell =​​ можно было редактировать​​DataRange​ недостаток можно использовать​ в диалоговом окне​ значений, возможно, Вы​ примере таблицы на​Показать правила форматирования для​(Format values where​​ в предыдущем способе.​​. Находясь во вкладке​ ячеек по их​​В окне форматирования снова​​до​

    Окно создания правила форматирования в Microsoft Excel

  4. ​ цветных строк будет​ тут.​​ определять, какая строка​​ Application.InputBox( _​ (например — очистить,​и не задавайте​ несложную пользовательскую функцию​​ «Текст, который содержит»​​ захотите узнать, сколько​ рисунке ниже столбец​​(Show formatting rules​​ this formula is​ Это свидетельствует о​

    Выбор цвета ячейки в Microsoft Excel

  5. ​«Главная»​ содержимому под названием​ перемещаемся во вкладку​500000​​ по порядку. По​​Можно написать формулу,​

    Создание правила форматирования в Microsoft Excel

  6. ​ кода выполняется медленнее​prompt:=»Select a cell»,​ или скопировать что-то​​ в качестве первого​​ на Visual Basic,​ вызываем функцию «Пользовательский​ ячеек выделено определённым​Delivery​ for) выберите​ true), вводим такое​​ том, что данный​​в которую мы​

    Переход к созданию следующего правила в Microsoft Excel

  7. ​«Найти и выделить»​«Заливка»​рублей и превышает​ нему можно узнать​​ с помощью которой,​ других?​​ Type:=8)​ сразу в каждую​ аргумента целый столбец​​ которая позволит нам​​ формат» (нажимаем на​ цветом, и посчитать​(столбец F) может​​Этот лист​​ выражение:​ вариант будет надежно​ переместились ранее, переходим​. Указанный инструмент позволит​, но на этот​500000​ количество цветных ячеек.​​ будут окрашиваться определенные​​И еще вопрос​Mycol = myCell.Interior.ColorIndex​ из них).​​ — «думать» будет​​ суммировать ячейки с​ стрелку у окна​​ сумму значений в​​ содержать текст «Urgent,​

    Переход в окно форматирования в Microsoft Excel

  8. ​(This worksheet). Если​=$C2>4​​ работать только в​​ на ленту к​ отыскать заданные значения​ раз уже выбираем​рублей.​ Смотрите статью «Порядковый​​ ячейки. О таком​​ почему использована функция​

    Окно форматирования в Microsoft Excel

  9. ​For Each rr​Говоря точнее, нужна​ долго :)​​ определенным цветом.​​ «с»). В Word​

    Завершене создания правила в Microsoft Excel

  10. ​ этих ячейках. Хочу​​ Due in 6​​ нужно изменить параметры​Вместо​ тех таблицах, в​ блоку инструментов​ и изменить цвет​​ другой цвет, после​​Выделяем столбец, в котором​

    Переход к созданию последнего правила в Microsoft Excel

  11. ​ номер строк по​ способе окрасить ячейки,​ StrAdd, а не​​ In ActiveSheet.UsedRange​ подробная инструкция, как​​Nikls2502​Откройте редактор Visual Basic:​​ 2007 эта кнопка​​ порадовать Вас, это​ Hours» (что в​ только для правил​​C2​​ которых данные не​«Шрифт»​​ в этих ячейках​​ чего жмем на​ находится информация по​ порядку после фильтра​​ читайте в статье​​ Sub?​

    Окно создания правила в Microsoft Excel

  12. ​If rr.Interior.ColorIndex =​​ это сделать​​: Народ подскажите как​В Excel 2003 и​​ называется «0» (стоит​​ действие тоже можно​ переводе означает –​ на выделенном фрагменте,​Вы можете ввести​ изменяются.​​. Кликаем по треугольнику​​ на нужный пользователю.​

    Окно формат ячеек в Microsoft Excel

  13. ​ кнопку​ доходам предприятия. Затем​ в Excel».​​ «Закрасить ячейку по​​barrel​

    Последнее правило создано в Microsoft Excel

  14. ​ Mycol Then​​Заранее спасибо!​​ посчитать сумму ячеек​ старше для этого​ на кнопке 0).​ сделать автоматически, и​​ Срочно, доставить в​​ выберите вариант​

    Завершение работы в Диспетчере правил в Microsoft Excel

  15. ​ ссылку на другую​Урок:​ справа от кнопки​ Но следует учесть,​

    Ячейки окрашены согласно заданным условиям в Microsoft Excel

  16. ​«OK»​ перемещаемся во вкладку​Бывает нужно округлить​ условию в Excel​: ZVI, надстройка -​If s Is​_Boroda_​ выделенных цветом​ нужно выбрать в​

Смена цвета в ячеке в Microsoft Excel

​Появится диалоговое окно «Формат​ решение этой задачи​ течение 6 часов),​Текущий фрагмент​

  1. ​ ячейку Вашей таблицы,​Как сделать поиск в​​«Цвет заливки»​​ что при изменении​.​«Главная»​ числа до кратного​​ формулой».​ СУПЕР!!! Всё прекрасно​​ Nothing Then​​: Выделяете диапазон для​​Michael_S​ меню​ ячеек». В этом​ мы покажем в​ и эта строка​​(Current Selection).​​ значение которой нужно​

    Форматирование ячеек на основании их значений в Microsoft Excel

  2. ​ Экселе​​. Открывается выбор различных​​ содержимого в элементах​После возврата в окно​​. Щелкаем по кнопке​​ числа или все​

    Диспетчер правил в Microsoft Excel

  3. ​Как закрасить ячейки,​ работает! Вы настоящий​Set s = rr​ поиска (или одну​: Смотря как они​Сервис — Макрос -​ окне ставим цвет​ статье, посвящённой вопросу​ также будет окрашена.​

Ячейки отформатированы в Microsoft Excel

​Выберите правило форматирования, которое​​ использовать для проверки​

Способ 2: использование инструмента «Найти и выделить»

​Как видим, существует два​ цветов заливки. Выбираем​ листа, цвет автоматически​ создания правила тоже​«Условное форматирование»​ числа в столбце​ разобрались. Теперь, разберем,​ талантище! Искренни Вам​​Else​​ ячейку, если поиск​ выделены. Если вручную​ Редактор Visual Basic​ шрифта, можно выбрать​ Как в Excel​Для того, чтобы выделить​ должно быть применено​ условия, а вместо​ способа окрасить ячейки​ тот цвет, который​ изменяться не будет,​ жмем на кнопку​, которая располагается на​ привести к кратному​ как считать цветные​ благодарен.​Set s =​ по всему листу),​ — то только​

​ (Tools — Macro​ или убрать цвет​ посчитать количество, сумму​ цветом те строки,​ первым, и при​

  1. ​4​ в зависимости от​ мы желаем применить​ а останется прежним.​​«OK»​​ ленте в блоке​ числу. Например, все​​ ячейки.​​Большое спасибо всем​ Union(s, rr)​ жмете Контрл+F (появится​​ макросом, если применялось​​ — Visual Basic​ заливки ячеек, выбрать​​ и настроить фильтр​​ в которых содержимое​

    Переход в окно Найти и заменить в Microsoft Excel

  2. ​ помощи стрелок переместите​​можете указать любое​​ числовых значений, которые​​ к элементам листа,​​ Для того, чтобы​.​​ инструментов​​ числа в столбце​Первый вариант.​ кто откликнулся на​End If​ окно «Найти и​​ УФ — то​​ Editor)​ другой шрифт, размер​ для ячеек определённого​ ключевой ячейки начинается​ его вверх списка.​ нужное число. Разумеется,​​ в них находятся:​​ содержащим величины менее​​ сменить цвет на​​Как видим, в​«Стили»​ сделать кратными трем,​Сумма цветных ячеек в​ мою просьбу!​End If​

    ​ заменить»), жмете кнопку​ по условию УФ​В новых версиях Excel​ шрифта, цвет границы​ цвета.​ с заданного текста​​ Должно получиться вот​​ в зависимости от​ с помощью условного​400000​ актуальный, придется повторять​Диспетчере правил​. В открывшемся списке​​ т.е, чтобы числа​​Excel.​Искреннее уважение создателю​Next​​ «Параметры», дмете стрелку​​vikttur​ 2007-2013 перейти на​ ячеек, т.д. Получится​Мы показали лишь несколько​​ или символов, формулу​​ так:​​ поставленной задачи, Вы​​ форматирования и с​рублей.​ процедуру заново. Поэтому​у нас создано​

    ​ выбираем пункт​​ столбца делились на​​Чтобы быстро посчитать​​ этого ресурса. Прекрасный​​s.Select​ рядом со словом​​: Например, Надстройка для​​ вкладку​

    Запуск поиска в Microsoft Excel

  3. ​ так.​ из возможных способов​ нужно записать в​Нажмите​ можете использовать операторы​ использованием инструмента​Как видим, все ячейки​​ данный способ не​​ уже два правила.​«Управления правилами…»​ три без остатка,​ данные в желтых​ форум, а главное​End Sub​

    Выделение результатоа поисковой выдачи в Microsoft Excel

  4. ​ «Формат», выбираете в​ суммирования по цвету​Разработчик (Developer)​Можно выделить условным​​ сделать таблицу похожей​​ таком виде:​​ОК​​ сравнения меньше (​«Найти и заменить»​ столбца, в которых​ является оптимальным для​​ Таким образом, осталось​​.​ т.д. Как работать​​ ячейках, установим фильтр.​​ люди! отзывчивые и​Igor67​ появившемся списке «Выбрать​ заливки,шрифта, формату​и нажать кнопку​ форматированием повторяющиеся значения.​​ на полосатую зебру,​​=ПОИСК(«Due in»;$E2)=1​

    Выбор цвета заливки в Microsoft Excel

  5. ​, и строки в​=$C2​. Первый способ более​​ находятся значения менее​​ таблиц с динамическим​ создать третье. Щелкаем​

    Ячейки выделены синим цветом в Microsoft Excel

  6. ​Запускается окошко управления правилами​ с кратными числами,​ Какими способами установить​ настоящие специалисты своего​​: По этой ссылке​​ формат из ячейки»,​​Tyron​​ Visual Basic. Если​ Смотрите об этом​ окраска которой зависит​​=SEARCH(«Due in»,$E2)=1​​ указанном фрагменте тут​=$C2=4​ прогрессивный, так как​​400000​​ содержимым.​ по кнопке​

    Поиск второго интервала значений в Microsoft Excel

  7. ​ условного форматирования. В​ смотрите в статье​ фильтр в таблице,​ дела!​ ZVI выкладывал надстройку​​ маркер мыши изменится​​: С надстройкой получилось​ такой вкладки у​ в статье «Как​ от значений в​Нужно быть очень внимательным​ же изменят цвет,​Обратите внимание на знак​ позволяет более четко​рублей, выделены выбранным​Посмотрим, как это работает​​«Создать правило»​​ поле​​ «Сумма чисел кратных​​ смотрите в статье​

    Выбор цвета заливки для второго диапазона данных в Microsoft Excel

  8. ​ПС мне необходимо​ по выделению ячеек​ — топаете им​ подсчитать количество ячеек​​ вас не видно,​​ выделить повторяющиеся значения​​ ячейках и умеет​​ при использовании такой​

    Ячейки выделены зеленым цветом в Microsoft Excel

  9. ​ в соответствии с​ доллара​ задать условия, по​​ цветом.​​ на конкретном примере,​.​«Показать правила форматирования для»​​ 3 в Excel».​​ «Фильтр в Excel».​ написать модуль подкачки​​ по цвету заливки​​ на ячейку-образец, жмете​​ по цветам.​​ то включите ее​ в Excel».​​ меняться вместе с​​ формулы и проверить,​ формулами в обоих​​$​​ которым будут выделяться​Теперь нам нужно окрасить​​ для которого возьмем​​В окне создания правила​должно быть установлено​При работе с таблицами​​Получилось так.​​ истории котировок, ТЗ​

    Поиск третьего интервала значений в Microsoft Excel

  10. ​ и по шрифту.​ кнопку «Найти все».​​А как сделать​​ в настройках​Как выделить ячейку​ изменением этих значений.​ нет ли в​​ правилах.​​перед адресом ячейки​ элементы листа. К​ элементы, в которых​

    Выбор цвета заливки для третьего диапазона данных в Microsoft Excel

  11. ​ все ту же​ опять перемещаемся в​ значение​ первоочередное значение имеют​В ячейке A1 появилась​ есть. Подскажите, готов​barrel​ В этом же​ чтобы при изменении​Файл — Параметры -​ по условию гистограммой​ Если Вы ищите​ ячейках ключевого столбца​

    Все ячейки окрашены в Microsoft Excel

  12. ​Чтобы упростить контроль выполнения​ – он нужен​ тому же, при​ располагаются величины в​ таблицу дохода предприятия.​ раздел​«Текущий фрагмент»​ выводимые в ней​ стрелка фильтра (треугольник).​ ли кто нибудь​: Лузер, ну Вы​ окне «Найти и​ цвета ячейки автоматически​ Настройка ленты (File​ в ячейке, читайте​

Цвет не поменялся после изменения значения в ячейке в Microsoft Excel

​ для своих данных​​ данных, начинающихся с​ заказа, мы можем​

​ для того, чтобы​ условном форматировании цвет​ диапазоне от​Выделяем столбец с данными,​«Форматировать только ячейки, которые​. По умолчанию именно​ значения. Но немаловажной​ Нажимаем на эту​​ взяться за это​​ просто меня спасли​ заменить» внизу появится​ пересчитывалось и их​ — Options -​ в статье «Как​ что-то другое, дайте​ пробела. Иначе можно​ выделить в нашей​ при копировании формулы​ элемента автоматически меняется,​400000​ которые следует отформатировать​ содержат»​ оно и должно​ составляющей является также​ стрелку. В появившемся​ дело? готов немного​​ от рутины!!! низкий​​ список адресов найденных​ количество?​ Customize Ribbon)​

​ выделить ячейки в​

lumpics.ru

Как в Excel изменять цвет строки в зависимости от значения в ячейке

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

​ и её оформление.​ диалоговом окне, нажимаем​ заплатить…​ Вам поклон и​ ячеек, топаете мышой​З.Ы. Пример в​В окне редактора вставьте​ Excel» здесь.​ вместе мы обязательно​ пытаясь понять, почему​ строки заказов с​ строки сохранить букву​ содержимого в ней,​500000​ во вкладку​ оставляем вариант​ но на всякий​ Некоторые пользователи считают​

  • ​ на функцию «Фильтр​слэн​ благодарность!​
  • ​ на первую (она​ файле. Подскажите кто​ новый модуль через​
  • ​Чтобы в Excel ячейка​ что-нибудь придумаем.​ же формула не​
  • ​ разным статусом доставки,​ столбца неизменной. Собственно,​ чего второй способ​
  • ​рублей. В этот​«Главная»​

Как изменить цвет строки на основании числового значения одной из ячеек

​«Значение ячейки»​ случай проверьте и​ это второстепенным фактором​

Цвет строки по значению ячейки в Excel

​ по цвету». Появится​: выложите тз и​Кстати, я в​ выделится) и жмете​ знает пожалуйста!​​ меню​​ с датой окрасилась​Урок подготовлен для Вас​ работает.​ информация о котором​ в этом кроется​​ делать не может.​​ диапазон входят числа,​

  1. ​и жмем на​. Во втором поле​ в случае несоответствия​ и не обращают​
  2. ​ окно, в котором​ пр условия​​ первом сообщении прикрепил​​ Контрл+Шифт+Енд (выделятся все​​Hugo​​Insert — Module​​ за несколько дней​​ командой сайта office-guru.ru​Итак, выполнив те же​ содержится в столбце​Цвет строки по значению ячейки в Excel
  3. ​ секрет фокуса, именно​​ Впрочем, заливку ячеек​​ которые соответствуют шаблону​ кнопку​​ устанавливаем переключатель в​ измените настройки согласно​​ на него особого​ будут все цвета​можно в аську:237​ файл, сохранённый в​ ячейки и в​​: Никак.​и скопируйте туда​ до определенной даты​​Источник: https://www.ablebits.com/office-addins-blog/2013/10/29/excel-change-row-background-color/​ шаги, что и​Delivery​ поэтому форматирование целой​

    ​ в зависимости от​

    Цвет строки по значению ячейки в Excel

    ​«4??????»​​«Найти и выделить»​​ полицию​ вышеуказанным рекомендациям. После​ внимания. А зря,​ ячеек, которые присутствуют​ 144 750​ формате 2003, а​​ списке, и на​​Но можно сделать​ текст вот такой​, нужно установить​Перевел: Антон Андронов​ в первом примере,​:​

    ​ строки изменяется в​
    ​ значения путем применения​

    ​. Вбиваем его в​, которая размещена на​​«Больше»​​ этого следует нажать​ ведь красиво оформленная​ в столбце.​ZVI​ на самом деле,​ листе). Закрываете крестиком​ по событию выделения​ функции:​условное форматирование в Excel​Автор: Антон Андронов​ мы создали три​Если срок доставки заказа​ зависимости от значения​

  4. ​ инструмента​​ поле поиска и​​ ленте в блоке​. В третьем поле​​ на кнопку​​ таблица является важным​В нашем примере –​: —​ рассчитываю таблицу в​​ окно «Найти и​​ ячейки — хотя​Public Function SumByColor(DataRange​ по дате​​Условное форматирование в Excel​​ правила форматирования, и​Цвет строки по значению ячейки в Excel​ находится в будущем​ одной заданной ячейки.​«Найти и заменить»​​ щелкаем по кнопке​​ инструментов​ вбиваем число​«Создать правило…»​ условием для лучшего​ это желтый цвет​
  5. ​Тормозила Union(Range1,Range2).​​ 2007ом, она примерно​​ заменить» — все​ это костыли, и​ As Range, ColorSample​Цвет строки по значению ячейки в Excel
  6. ​. Кнопка «Условное форматирование»​устанавливают, чтобы ячейка​ наша таблица стала​ (значение​​Нажимаем кнопку​​тоже вполне можно​«Найти все»​«Редактирование»​500000​​.​​ её восприятия и​​ ячеек и ячейки​​Определялось это достаточно​ в 3 раза​ найденные на листе​Цвет строки по значению ячейки в Excel

​ ненадёжные, и тормозные​ As Range) As​ -> «Правило выделенных​ или строка выделились​ выглядеть вот так:​Due in X Days​Формат​ использовать, но только​, предварительно выделив нужный​. В открывшемся списке​. Затем, как и​Открывается окно создания правила​

Как создать несколько правил условного форматирования с заданным приоритетом

​ понимания пользователями. Особенно​ без заливки (без​ примитивно: была закомментрована​ больше той которую​ ячейки остаются выделенными.​ в целом.​​ Double Dim Sum​​ ячеек» -> «Дата».​ цветом при определенных​На самом деле, это​), то заливка таких​(Format) и переходим​​ в статических таблицах.​​ нам столбец.​ кликаем по пункту​ в предыдущих случаях,​ форматирования. В списке​

​ большую роль в​

​ цвета). Нажимаем на​ вся строка с​ я прикрепил. Так​RazorBaze​Ставьте подсчёт на​

  1. ​ As Double Application.Volatile​​ В строке, где​​ условиях. В условном​​ частный случай задачи​​ ячеек должна быть​​ на вкладку​​Автор: Максим Тютюшев​​Аналогично с предыдущим разом​​«Найти»​
  2. ​ жмем на кнопку​​ типов правил выбираем​​ этом играет визуализация​ желтый прямоугольник.​​ Union() — помогло.​​ вот она до​:​ кнопку.​ True For Each​ стоит «вчера» выбираем​​ форматрировании можно выбрать​​ об изменении цвета​
  3. ​ оранжевой;​Заливка​Узнайте, как на листах​ в поисковой выдаче​.​«Формат…»​ позицию​Цвет строки по значению ячейки в Excel​ данных. Например, с​​В таблице останутся​​А затем раскомментирована,​ сих пор расчитывается​_Boroda_​P.S. И кстати​ cell In DataRange​ свой вариант условий.​

    Цвет строки по значению ячейки в Excel

Как изменить цвет строки на основании текстового значения одной из ячеек

​ предложенные условия выделения​ строки. Вместо целой​Если заказ доставлен (значение​(Fill), чтобы выбрать​ Excel быстро изменять​ производим выделение всего​Запускается окно​.​​«Форматировать только ячейки, которые​​ помощью инструментов визуализации​

  • ​ только желтые ячейки.​ но в строке​ :) пришлось даже​​, боже… а покороче​​ у Вас в​ If cell.Interior.Color =​ Например «за последние​
  • ​ ячеек, а, можно,​​ таблицы выделяем столбец​​Delivered​ цвет фона ячеек.​ цвет целой строки​
  • ​ полученного результата нажатием​«Найти и заменить»​В окне​​ содержат»​​ можно окрасить ячейки​ В ячейку A8​ вместо Union() был​

​ тему новую создать:​ способа microsoft не​ формуле баксов не​ ColorSample.Interior.Color Then Sum​

​ 7 дней». И​​ задать свои условия,​​ или диапазон, в​​), то заливка таких​​ Если стандартных цветов​ в зависимости от​ комбинации горячих клавиш​во вкладке​

​«Формат ячеек»​
​. В блоке описания​

​ таблицы в зависимости​ устанавливаем функцию «Автосумма»​ вставлен пустой оператор​​Лузер™​​ могли придумать?)))​​ хватает — диапазон​​ = Sum +​ эта ячейка за​ анписав слово, число,​ котором нужно изменить​ ячеек должна быть​ недостаточно, нажмите кнопку​ значения одной ячейки.​CTRL+A​«Найти»​опять перемещаемся во​ правила в первом​

​ от их содержимого.​ или любую другую​​ типа i=i, скорость​​: Я уже не​в ворде вон​ сдвинулся, осторожно, может​ cell.Value End If​

​ семь дней до​
​ установив формулу. Можно​

​ цвет ячеек, и​​ зелёной;​​Другие цвета​ Посмотрите приёмы и​. После этого перемещаемся​. Прежде всего, найдем​ вкладку​​ поле переключатель должен​​ Давайте узнаем, как​ формулу пишем.​ выполнения была хорошей.​ помню надстройку ZVI,​​ правой кнопкой на​​ наврать!​ Next cell SumByColor​ наступления этой даты​ закрасить ячейки цветом,​ используем формулы, описанные​Если срок доставки заказа​

​(More Colors), выберите​​ примеры формул для​ к значку выбора​​ значения до​​«Заливка»​ стоять в позиции​ это можно сделать​Получилось так. Посчитались, только​ После чего были​ может она и​ стиль кликнул, и​Tyron​ = Sum End​ будет окрашена.​ гистограммой, выделить значками,​​ выше.​​ находится в прошлом​ подходящий и дважды​ числовых и текстовых​ цвета заливки. Кликаем​400000​. На этот раз​«Значения»​ в программе Excel.​ видимые ячейки желтого​

​ приняты меры вызывать​ побыстрее работает. У​ можно всё выделить​: Спасибо!​ Function​Как выделить всю​ словами, числами.​Например, мы можем настроить​

​ (значение​
​ нажмите​

​ значений.​ по нему и​рублей. Так как​ выбираем цвет, который​. Во втором поле​Скачать последнюю версию​ цвета.​ Union() пореже.​ меня на Вашем​ сразу.​Мария​

​Если теперь вернуться в​ строку по определенному​Условное форматирование в Excel​ три наших правила​Past Due​ОК​В одной из предыдущих​

Цвет строки по значению ячейки в Excel

Как изменить цвет ячейки на основании значения другой ячейки

​ жмем на пиктограмму​ у нас нет​ отличается от двух​ устанавливаем переключатель в​ Excel​Как установить формулу​Хотя сначала был​ примере тоже долго​тем не менее,​: подскажите пожалуйста, могу​

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

Цвет строки по значению ячейки в Excel

Как задать несколько условий для изменения цвета строки

​ сделан вариант попроще​ считало в 2003-м.​ большое Вам спасибо!​ ли сделать так,​ Мастере функций (​ статье «Выделить всю​Например, нужно, чтобы​ выделять цветом только​​ ячеек должна быть​​Таким же образом на​​ как изменять цвет​​ который будет окрашивать​ где содержалось бы​ щелчок по кнопке​«Меньше»​

​ хорошо оформленную таблицу,​ статье «Сложение, вычитание,​ — вообще без​ Я пока один​barrel​ чтобы в графике,​Вставка — Функция​ строку по условию​ окрашивались ячейки с​ ячейки, содержащие номер​

​ красной.​ остальных вкладках диалогового​
​ ячейки в зависимости​ элементы листа, где​

​ значение менее​«OK»​
​. В третьем поле​ в которой ячейки​

Цвет строки по значению ячейки в Excel

​ умножение, деление в​ Union(), но он​ способ вижу -​: Столкнулся с проблемой,​ где проставлены все​) в появившейся там​​ в Excel» тут.​​ суммой меньше 200.​ заказа (столбец​​И, конечно же, цвет​​ окна​

​ от её значения.​
​ находятся величины в​

Цвет строки по значению ячейки в Excel

​300000​.​ указываем значение, элементы​ в зависимости от​ Excel» здесь.​ был помедленнее, прожорливее​

​ вместо UsedRange использовать​ необходим макрос, который​ сроки платежей, считать​
​ категории​В Excel можно​ Выделяем нужный столбец​

​Order number​​ заливки ячеек должен​Формат ячеек​ На этот раз​ диапазоне от​рублей, то, по​В окне создания правил​ листа, содержащие величину​ содержимого, окрашиваются в​Чтобы убрать фильтр,​ по оперативной памяти,​ конкретный диапазон, может​ в диапазоне выделяет​ только оплаченные, при​Определенные пользователем (User Defined)​ посчитать количество выделенных​ или всю таблицу,​) на основании значения​ изменяться, если изменяется​(Format Cells) настраиваются​ мы расскажем о​400000​ сути, нам нужно​

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

​до​ выделить все элементы,​
​ кнопку​
​ окрашены определенным цветом.​

​ особенно актуальна данная​

office-guru.ru

Условное форматирование в Excel.

​ функцию «Фильтр». Тогда​​ работал на защищенных​ по размерам.​ цветом. Таблица у​ Т.К., нужна сумма​ функцию и вставить​ ячейки, строки выделенные​ диапазон, дать ему​ строки (используем значения​С формулой для значений​ такие как цвет​ Excel 2010 и​500000​ в которых содержатся​
​«OK»​ В нашем случае​
​ возможность для больших​ таблица раскроется, а​ листах, поэтому от​Igor67​ меня очень большая,​ только оплаченных​ ее на лист:​ условным форматированием и​ имя, чтобы быстро​ из столбца​Delivered​ шрифта или границы​ 2013 выделять цветом​.​
​ числа в диапазоне​.​ это значение будет​ таблиц, содержащих значительный​ функция «Автосумма» посчитает​ него пришлось отказаться.​: Проверил по таймеру​ вручную выделять очень​Pelena​ ​ не только, читайте​ найти, и для​Delivery​и​ ячеек.​
​ строку целиком в​Как видим, после этого​ от​Открывается​400000​ массив данных. В​
​ сумму всех ячеек,​При большом количестве​ — одинаково. Плюс​ долго.​:​У нее два аргумента:​ в статье «Количество​
​ чего он ещё​).​​Past Due​
​В поле​ зависимости от значения​ действия все элементы​300000​Диспетчер правил​. После этого жмем​ этом случае заливка​ разного цвета.​ обрабатываемых ячеек обычно​ у ЗВИ, реализация​Может кто подскажет?​Мария​DataRange​ выделенных строк в​ нужен, смотрите в​Если нужно выделить строки​всё понятно, она​​Образец​
​ одной ячейки, а​ таблицы с данными​до​. Как видим, все​ на кнопку​ цветом ячеек значительно​
​Второй вариант.​ причиной тормозов кода​ функции надстройкой, подключено​Лузер™​, читаем Правила форума,​- диапазон раскрашенных​ Excel».​ статье «Что такое​ одним и тем​ будет аналогичной формуле​(Preview) показан результат​ также раскроем несколько​ в интервале с​400000​
​ три правила созданы,​«Формат…»​ облегчит пользователям ориентирование​Если в таблице​ является многократное обращение​ меню и не​: Sub Ìàêðîñ1()​ создаём свою тему​ ячеек с числами​Удалить условное форматирование​
​ диапазон в Excel»​ же цветом при​ из нашего первого​ выполнения созданного правила​ хитростей и покажем​400000​
​. К сожалению, прямо​ поэтому жмем на​.​ в этом огромном​ цветных ячеек мало,​ из рабочего пространства​
​ надо мучаться с​Dim s As​ и прикладываем файл​ColorSample​​ в Excel можно​​ тут.​ появлении одного из​​ примера:​ условного форматирования:​ примеры формул для​по​ указать данный диапазон,​ кнопку​Открывается окно формата ячеек.​ количестве информации, так​ то можно их​ VBA в рабочее​ макросом в книге.​ Range, rr As​
​ с примером​- ячейка, цвет​ так.​На закладке «Главная»​ нескольких различных значений,​=$E2=»Delivered»​
​Если всё получилось так,​ работы с числовыми​500000​ как в случае​«OK»​ Перемещаемся во вкладку​ как она, можно​ выделить. В строке​ проостранство Excel. Это​
​Лузер™​ Range​Abram pupkin​
​ которой принимается как​Выделить диапазон ->​ в разделе «Стили»​ то вместо создания​=$E2=»Past Due»​ как было задумано,​
​ и текстовыми значениями.​​выделены выбранным цветом.​​ применения условного форматирования,​.​«Заливка»​ сказать, будет уже​ состояния будет видно​ относится к использованию​
​: Это ZVI уникальный​For Each rr​: Вам правильно подсказала​ образец для суммирования​ закладка «Главная» ->​ нажимаем «Условное форматирование».​ нескольких правил форматирования​Сложнее звучит задача для​ и выбранный цвет​
​Изменяем цвет строки на​Теперь нам осталось выделить​ в данном способе​Теперь элементы таблицы окрашены​. Выбираем тот цвет​ структурированной.​ их сумма. Строку​ Application. , Cells(),​ в этом плане.​ In ActiveSheet.UsedRange​
​ Эля Коробицына​Легко изменить нашу функцию,​ «Условное форматирование» ->​ Выбираем функцию «Правила​ можно использовать функции​ заказов, которые должны​ устраивает, то жмём​ основании числового значения​

excel-office.ru

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

​ последний интервал величин​ нельзя.​ согласно заданным условиям​ заливки, которым желаем,​Элементы листа можно попытаться​ состояния можно настроить​ Range(), .Select, .Hidden​ Мне лень надстройку-то​If rr.Interior.ColorIndex =​Если цвета ячеек​ чтобы она учитывала​ «Удалить правила» ->​ выделенных ячеек» ->​И​ быть доставлены через​ОК​ одной из ячеек​

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

​ делать, а он​

  • ​ 34 Then​ задавались через условное​ не цвет заливки​ «Удалить привала из​​ «Меньше». В появившемся​(AND),​Х​, чтобы увидеть созданное​Создаём несколько правил форматирования​
  • ​500000​ несколько по-другому, что​ настройках условного форматирования.​​ содержащие величину менее​​ опять же, если​Как посчитать цветные ячейки​ под подозрение сразу​ и инсталятор к​If s Is​ форматирование, тогда можно​​ фона, а цвет​ выделенных ячеек».​ окне пишем сумму,​ИЛИ​

​дней (значение​ правило в действии.Теперь,​ и для каждого​​. Тут нам тоже​​ нам даст тот​Если мы изменим содержимое​400000​

​ таблица большая, то​ в​ визуально и попала​ ней и справку.​ Nothing Then​ использовать те же​ шрифта ячейки. Для​Можно​ меньше которой ячейки​(OR) и объединить​Due in X Days​ если значение в​ определяем приоритет​ повезло, так как​

​ же результат. Можно​ в одной из​. После этого жмем​​ это займет значительное​​Excel​ Union(), которая доставала​​barrel​​Set s = rr​ самые формулы​ этого в строке​

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

​ должны окрашиваться. Здесь​

  • ​ таким образом нескольких​​). Мы видим, что​ столбце​
  • ​Изменяем цвет строки на​​ все числа более​ в строке поиска​ ячеек, выходя при​

Цвет шрифта

​ на кнопку​ количество времени. К​.​ Excel из VBA.​: Чтото не удаётся​Else​Если ячейки красили​ 6 просто замените​​ячеек без значений​​ же можно выбрать​​ условий в одном​​ срок доставки для​Qty.​

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

​ основании текстового значения​500000​ задать следующий шаблон​ этом за границы​«OK»​ тому же, в​Можно​Что касается выбора​ запустить надстройку от​

​Set s =​ вручную, тогда только​

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

​ свойство​ этих ячеек. Как​ цвет окрашивания ячеек.​ правиле.​ различных заказов составляет​больше​ одной из ячеек​находятся в интервале​«3?????»​ одного из заданных​в нижней части​ таком массиве данных​посчитать количество цветных ячеек​

​ Function или Sub​ ZVI. Всё вроде​ Union(s, rr)​ макросы.​Interior​ это сделать, читайте​​ Нажимаем «ОК». Здесь,​​Например, мы можем отметить​ 1, 3, 5​4​Изменяем цвет ячейки на​ от​. Знак вопроса означает​​ правил, то при​​ окна.​

​ человеческий фактор может​ в​ — то это​ бы установил, надстройка​End If​​Аналогичный вопрос подробно​​на​ в статье «Копирование​ в таблице окрасились​ заказы, ожидаемые в​ или более дней,​

planetaexcel.ru

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

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

​ этом данный элемент​​Возвращаемся в окно создания​ сыграть свою роль​Excel​ точно не ноу-хау,​ появилась в меню,​End If​

​ рассматривался​​Font​ условного форматирования, формата​ ячейки с суммой​

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

​Next​​здесь​
​в обеих частях​ в Excel» здесь.​ меньше 200.​ 3 дней, розовым​ что приведённая выше​ голубой.​
​Изменяем цвет строки по​600000​
​ искать все шестизначные​ цвет.​ там тоже жмем​ ошибки. Не говоря​ такая таблица.​ использовать Function, чтобы​

​ выдаёт сообщение: «Не​​s.Select​

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

​Кроме того, можно использовать​​ на кнопку​​ уже о том,​​Первый способ.​ не отображалась в​ удаётся выполнить макрос​End Sub​

excelworld.ru

Как автоматически считать в эксель ячейки разного цвета

​ The_Prist​​Если вам нужно подсчитывать​ и воскресенье среди​
​ цифру на большую​ которые будут выполнены​ применима, так как​ Excel цвет целой​Предположим, у нас есть​
​ поиска вводим выражение​ с цифры​ условное форматирование несколько​
​«OK»​ что таблица может​
​Сортировкой собираем все​
​ панели макросов как​ «…..» . Возможно​
​Лузер™​Очень простой ответ​
​ не сумму покрашенных​
​ дней недели в​ 200, то цвет​
​ в течение 5​ она нацелена на​ строки на основании​ вот такая таблица​«5?????»​«3»​ по-другому для окраски​.​
​ быть динамической и​
​ цветные ячейки в​ Sub, хотя есть​ этот макрос отсутствует​: Sub Макрос1()​ предложил​ определенным цветом ячеек,​

​ таблице, графике, выделить​​ ячейки исчезнет. Смотрите​ и 7 дней,​ точное значение.​ числового значения одной​ заказов компании:​

​и жмем на​​. То есть, в​ элементов листа цветом.​После этого действия мы​ данные в ней​ одну сторону таблицы.​ же и Private.​

Выделение ячеек по цвету, или по стилю (Формулы/Formulas)

​ в текущей книге,​​Dim s As​
​Алексанндр _Boroda_​ а всего лишь​ дату, смотрите в​ в таблице строку​ жёлтым цветом. Формулы​В данном случае удобно​
​ из ячеек –​Мы хотим раскрасить различными​ кнопку​ выдачу поиска попадут​Для этого после того,​ снова будем перенаправлены​ периодически изменяются, причем​
​ Как работать с​ В данном случае,​ либо все макросы​:)
​ Range, rr As​

​Посмотрите еще и​​ их количество, то​ статье «Выделить дату,​ «Орешкин», колонка 3.​ будут выглядеть так:​ использовать функцию​ это совсем не​ цветами строки в​«Найти все»​ значения в диапазоне​ как из​ в​ массово. В этом​ сортировкой, читайте в​ конечно, Sub смотрелось​ отключены.»​ Range​ здесь​ наша функция будет​ день недели в​Таким способом можно настроить​=ИЛИ($F2=»Due in 1 Days»;$F2=»Due​ПОИСК​ сложно. Далее мы​ зависимости от заказанного​. Если бы были​300000 – 400000​Диспетчера правил​Диспетчер правил условного форматирования​ случае вручную менять​ статье «Сортировка в​ бы правильнее. В​

​Guest​​For Each rr​​Все ответы предусматривают​​ еще проще. Замените​ Excel при условии»​ условное форматирование ячеек​
​ in 3 Days»)​(SEARCH) и для​ рассмотрим ещё несколько​ количества товара (значение​ величины, превышающие​
​, что нам и​мы переходим в​

excelworld.ru

Как в диапазоне выделить ячейки определённого цвета?

​. Как видим, одно​​ цвет вообще становится​ Excel».​ коде надстройки и​: Лузер, а что​ In ActiveSheet.UsedRange​ использование макросов. Если​ в ней 7-ю​ тут.​
​ в таблице по​

​=OR($F2=»Due in 1 Days»,$F2=»Due​​ нахождения частичного совпадения​
​ примеров формул и​ в столбце​600000​
​ требуется. Если бы​ окно создания форматирования,​
​ правило уже добавлено,​ нереально.​
​Выделяем цветные ячейки.​ Space(1024) лучше заменить​
​ надо сделать, чтобы​
​If rr.Interior.ColorIndex =​
​ для вас это​ строку на:​
​Условное форматирование удобно​
​ разным параметрам: больше,​
​ in 3 Days»)​
​ записать вот такую​
​ парочку хитростей для​

​Qty.​​, то нам бы​
​ в таблице были​ то остаемся в​ но нам предстоит​
​Но выход существует. Для​ В строке состояния​
​ на Space(256). Также​ вместо UsedRange использовать​
​ 34 Then​ сложно, тогда зарегистрируйтесь​
​Sum = Sum +​
​ применять для контроля​
​ меньше, в диапазоне​=ИЛИ($F2=»Due in 5 Days»;$F2=»Due​
​ формулу:​
​ решения более сложных​
​), чтобы выделить самые​
​ пришлось дополнительно производить​
​ числа меньше​
​ разделе​
​ добавить ещё два.​ ячеек, которые содержат​ (внизу окна) смотрим,​

​ две основные процедуры​​ конкретный диапазон?​
​If s Is​ на любом из​

​ 1​​ данных в таблице​
​ сумм, по тексту,​ in 7 Days»)​

​=ПОИСК(«Due in»;$E2)>0​​ задач.​ важные заказы. Справиться​ поиск для выражения​
​300000​«Форматировать все ячейки на​
​ Поэтому снова жмем​
​ динамические (изменяющиеся) значения​ сколько ячеек выделено.​ похожи друг на​А то на​
​ Nothing Then​ предложенных форумов и​
​К сожалению изменение цвета​ (на производстве, в​
​ дате, др.​
​=OR($F2=»Due in 5 Days»,$F2=»Due​=SEARCH(«Due in»,$E2)>0​
​В таблице из предыдущего​ с этой задачей​
​«6?????»​или меньше​
​ основании их значений»​
​ на кнопку​
​ применяется условное форматирование,​Видим – в таблице​
​ друга, и можно​
​ моих документах компьютер​
​Set s = rr​
​ там продублируйте свой​
​ заливки или цвета​

​ торговле или для​​Условное форматирование в Excel​ in 7 Days»)​В данной формуле​ примера, вероятно, было​ нам поможет инструмент​

​и т.д.​​200000​. В поле​«Создать правило…»​ а для статистических​ три цветные ячейки.​
​ было бы сделать​ просто зависает…​Else​ вопрос​ шрифта ячейки Excel​ контроля семейного бюджета).​ по тексту, словам​Для того, чтобы выделить​E2​ бы удобнее использовать​ Excel – «​Опять выделяем результаты поиска​, то для каждого​«Цвет»​

​.​​ данных можно использовать​Если не показывает​ одну универсальную. Думаю,​ZVI​Set s =​P.S.​ не считает изменением​ Как создать таблицу,​.​ заказы с количеством​– это адрес​ разные цвета заливки,​Условное форматирование​

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

​ Union(s, rr)​​уточните вопрос: Вам​ ее содержимого, поэтому​ смотрите в статье​Выделяем столбец. На​ товара не менее​ ячейки, на основании​

​ чтобы выделить строки,​​».​Ctrl+A​ тысяч поиск пришлось​ цвет, оттенками которого​ в окно создания​«Найти и заменить»​ то нажимаем правой​ можно было бы​Прилагается 3-я версия​End If​ надо посчитать кол-во​ не запускает пересчет​ «Как сделать таблицу​

​ закладке «Главная» нажимаем​​ 5, но не​ значения которой мы​ содержащие в столбце​Первым делом, выделим все​
​. Далее, воспользовавшись кнопкой​ бы производить отдельно.​ будут заливаться элементы​

​ правила. Перемещаемся в​​.​
​ кнопкой мыши на​ подправить и оптимизировать,​ надстройки выделения ячеек​End If​ желтыч ячеек или​ формул. То есть​ в Excel».​ на кнопку «Условное​ более 10 (значение​ применим правило условного​Qty.​ ячейки, цвет заливки​ на ленте, выбираем​

​Вводим выражение​ листа. Затем следует​

​ раздел​
​С помощью условного форматирования​ строку состояния и​ но работает -​

​ по цвету заливки​Next​

​ вам нужна сумма​ при перекрашивании исходных​

​Но в таблице​
​ форматирование». Из появившегося​

​ в столбце​​ форматирования; знак доллара​различные значения. К​ которых мы хотим​
​ новый цвет для​«3?????»​ нажать на кнопку​«Форматировать только ячейки, которые​
​ можно задать определенные​ ставим галочки у​ и с плеч​ или шрифта. В​

​s.Select​​ во всех желтых​ ячеек с числами​ Excel есть ещё​ списка выбираем функцию​Qty.​
​$​ примеру, создать ещё​ изменить.​
​ заливки интервала, превышающего​в поле​«OK»​ содержат»​ границы значений, при​ нужных функций. Так​
​ долой ;) Было​ отличие от 2-й​End Sub​ ячейках ?​ в другие цвета​ очень важная функция,​ «Правила выделенных ячеек»​), запишем формулу с​

​нужен для того,​​ одно правило условного​Чтобы создать новое правило​
​500000​«Найти»​

​.​​. В первом поле​
​ которых ячейки будут​
​ можно быстро посчитать​ две цели: чтобы​ работает примерно в​без кракозябр :)​
​Ми​ итоговая сумма по​ она, как и​ — «Текст содержит».​ функцией​ чтобы применить формулу​ форматирования для строк,​ форматирования, нажимаем​по той же​
​и жмем на​В​ данного раздела оставляем​ окрашиваться в тот​ выделенные ячейки –​ работало быстрее+надежно, и​ 100 раз быстрее​34 — меняете​: В EXEL нет​ нашей функции пересчитываться​

​ в Word, может​ В появившемся диалоговом​И​ к целой строке;​ содержащих значение​Главная​ аналогии, как мы​ кнопку​Диспетчере правил​ параметр​ или иной цвет.​ сумму, среднее значение,​ сделать быстро.​ и позволяет обрабатывать​ на код нужного​

​ формул, которые бы​ не будет.​ проверять правописание. Смотрите​ окне, в левом​(AND):​ условие «​10​>​ это делали ранее.​«Найти все​тоже жмем на​«Значение ячейки»​ Окрашивание будет проводиться​ т.д.​—​ как весь диапазон​ цвета​ различали ячейки по​Полностью решить эту проблему​ в статье «Правописание​ окошке пишем слово,​=И($D2>=5;$D2​>0​или больше, и​Условное форматирование​Как видим, после этого​».​ кнопку​, а во втором​ автоматически. В случае,​
​Второй способ​
​ZVI​

planetaexcel.ru

​ ячеек листа, так​

Вычисления по цвету ячеек

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

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

На вкладке Разработчик (Developer) нажмите кнопку Visual Basic или сочетание клавиш Alt+F11, чтобы открыть редактор макросов. Если такой вкладки у вас не видно, то включите ее в настройках Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).

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

Function CountByColor(DataRange As Range, ColorSample As Range) As Long
    Dim cell As Range, n As Long
    
    For Each cell In DataRange
        If cell.Interior.Color = ColorSample.Interior.Color Then n = n + 1
    Next cell
    CountByColor = n
End Function

Function SumByColor(DataRange As Range, ColorSample As Range) As Double
    Dim cell As Range, total As Double
    
    For Each cell In DataRange
        If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color Then total = total + cell.Value
    Next cell
    SumByColor = total
End Function

Function AverageByColor(DataRange As Range, ColorSample As Range) As Double
    Dim cell As Range, total As Double, n As Long
    
    For Each cell In DataRange
        If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color Then
            total = total + cell.Value
            n = n + 1
        End If
    Next cell
    AverageByColor = total / n
End Function
 

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

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

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

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

Добавление условий

Аналогичный подход можно легко масштабировать, добавляя, при необходимости, дополнительные условия в проверку (команда if … then…). Так, например, если нам нужно при вычислении среднего арифметического учитывать не только цвет заливки, но и цвет шрифта (т.е. считать не просто жёлтые, а именно жёлто-красные ячейки), то код нашей макро-функции будет выглядеть так:

 Function AverageByColor2(DataRange As Range, ColorSample As Range) As Double
    Dim cell As Range, total As Double, n As Long
    
    For Each cell In DataRange
        If IsNumeric(cell) And cell.Interior.Color = ColorSample.Interior.Color And cell.Font.Color = ColorSample.Font.Color Then
            total = total + cell.Value
            n = n + 1
        End If
    Next cell
    AverageByColor2 = total / n
End Function

Разница только в добавленном через логическую связку «И» (and) условии на проверку соответствия цвета шрифта очередной проверяемой ячейки cell.Font.Color цвету шрифта ячейки-образца ColorSample.Font.Color.

Ограничения и нюансы пересчёта

У созданных нами макрофункций есть 2 важных нюанса.

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

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

Полностью решить эту проблему невозможно, но есть несколько способов её обойти:

  • Сделать двойной щелчок левой кнопкой мыши по ячейки с нашей формулой и нажать на Enter, т.е. имитировать повторный ввод функции в ячейку — Excel её заново пересчитает и выдаст обновленный результат.
  • Можно использовать сочетание клавиш Ctrl+Alt+F9, которое принудительно заставит Excel пересчитать всё формулы и функции независимо от того, изменились ли для них исходные данные. Но это сочетание нужно будет не забывать нажимать каждый раз при изменении исходных данных.
  • Добавить в код наших макрофункций (в любое место) команду Application.Volatile True. Эта команда языка Visual Basic заставляет Excel пересчитывать результаты нашей функции при изменении любой ячейки на листе (или по нажатию  F9). Однако, в этом случае, скорость работы наших функций заметно снизится, т.к. их пересчёт будет происходить постоянно — даже когда мы не меняли цвета или значения ячеек в исходных данных. Пользуйтесь этим методом осторожно.

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

Ссылки по теме

  • Сортировка строк по цвету
  • Функции подсчета количества и суммы ячеек по цвету из надстройки PLEX
  • Что такое «ад условного форматирования» и как его победить

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

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

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

Если не использовать сторонние надстройки, существует только одно решение – создать пользовательскую функцию (UDF). Если Вы мало знаете об этой технологии или вообще никогда не слышали этого термина, не пугайтесь, Вам не придётся писать код самостоятельно. Здесь Вы найдёте отличный готовый код (написанный нашим гуру Excel), и всё, что Вам потребуется сделать – это скопировать его и вставить в свою рабочую книгу.

  • Считаем и суммируем по цвету, когда ячейки раскрашены вручную
    • Считаем сумму и количество ячеек по цвету во всей книге
  • Считаем и суммируем по цвету, когда к ячейкам применены правила условного форматирования

Содержание

  1. Как считать и суммировать по цвету на листе Excel
  2. Считаем сумму и количество ячеек по цвету во всей книге
  3. Пользовательские функции для определения кодов цвета заливки ячеек и цвета шрифта
  4. Функции, которые считают количество по цвету:
  5. Функции, которые суммируют значения по цвету ячейки:
  6. Функции, которые возвращают код цвета:
  7. Как посчитать количество и сумму ячеек по цвету, раскрашенных при помощи условного форматирования
  8. Как использовать код, чтобы посчитать количество цветных ячеек и просуммировать их значения
  9. Рабочая книга с примерами для скачивания

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

Предположим, у Вас есть таблица заказов компании, в которой ячейки в столбце Delivery раскрашены в зависимости от их значений: Due in X Days – оранжевые, Delivered – зелёные, Past Due – красные.

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

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

  1. Откройте книгу Excel и нажмите Alt+F11, чтобы запустить редактор Visual Basic for Applications (VBA).
  2. Правой кнопкой мыши кликните по имени Вашей рабочей книги в области Project – VBAProject, которая находится в левой части экрана, далее в появившемся контекстном меню нажмите Insert > Module.Подсчет и суммирование ячеек по цвету в Excel
  3. Вставьте на свой лист вот такой код:
Function GetCellColor(xlRange As Range)
    Dim indRow, indColumn As Long
    Dim arResults()
 
    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
           arResults(indRow, indColumn) = xlRange(indRow, indColumn).Interior.Color
         Next
       Next
     GetCellColor = arResults
    Else
     GetCellColor = xlRange.Interior.Color
    End If
End Function
 
Function GetCellFontColor(xlRange As Range)
    Dim indRow, indColumn As Long
    Dim arResults()
 
    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
           arResults(indRow, indColumn) = xlRange(indRow, indColumn).Font.Color
         Next
       Next
     GetCellFontColor = arResults
    Else
     GetCellFontColor = xlRange.Font.Color
    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 (Книга Excel с поддержкой макросов).Если Вы не слишком уверенно чувствуете себя с VBA, то посмотрите подробную пошаговую инструкцию и массу полезных советов в учебнике Как вставить и запустить код VBA в Excel.
  2. Когда все закулисные действия будут выполнены, выберите ячейки, в которые нужно вставить результат, и введите в них функцию CountCellsByColor:

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

В этом примере мы используем формулу =CountCellsByColor(F2:F14,A17), где F2:F14 – это диапазон, содержащий раскрашенные ячейки, которые Вы хотите посчитать. Ячейка A17 – содержит определённый цвет заливки, в нашем случае красный.

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

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

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

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

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

Как показано на снимке экрана ниже, мы использовали формулу:

=SumCellsByColor(D2:D14,A17)

где D2:D14 – диапазон, A17 – ячейка с образцом цвета.

Таким же образом Вы можете посчитать и просуммировать ячейки по цвету шрифта при помощи функций CountCellsByFontColor и SumCellsByFontColor соответственно.

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

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

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

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

Представленный ниже скрипт Visual Basic был написан в ответ на один из комментариев читателей (также нашим гуру Excel) и выполняет именно те действия, которые упомянул автор комментария, а именно считает количество и сумму ячеек определённого цвета на всех листах данной книги. Итак, вот этот код:

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()

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

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

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

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

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

  • CountCellsByColor(диапазон, код_цвета) – считает ячейки с заданным цветом заливки.В примере, рассмотренном выше, мы использовали вот такую формулу для подсчёта количества ячеек по их цвету:

    =CountCellsByColor(F2:F14,A17)

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

    Все перечисленные далее формулы работают по такому же принципу.

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

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

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

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

  • GetCellFontColor(ячейка) – возвращает код цвета шрифта в выбранной ячейке.
  • GetCellColor(ячейка) – возвращает код цвета заливки в выбранной ячейке.Подсчет и суммирование ячеек по цвету в Excel

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

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

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

Конечно, Вы можете найти тонны кода VBA в интернете, который пытается сделать это, но все эти коды (по крайней мере, те экземпляры, которые попадались мне) не обрабатывают правила условного форматирования, такие как:

  • Format all cells based on their values (Форматировать все ячейки на основании их значений);
  • Format only top or bottom ranked values (Форматировать только первые или последние значения);
  • Format only values that are above or below average (Форматировать только значения, которые находятся выше или ниже среднего);
  • Format only unique or duplicate values (Форматировать только уникальные или повторяющиеся значения).

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

Код VBA, приведённый ниже, преодолевает все указанные выше ограничения и работает в таблицах Microsoft Excel 2010 и 2013, с любыми типами условного форматирования (и снова спасибо нашему гуру!). В результате он выводит количество раскрашенных ячеек и сумму значений в этих ячейках, независимо от типа условного форматирования, применённого на листе.

Sub SumCountByConditionalFormat()
    Dim indRefColor As Long
    Dim cellCurrent As Range
    Dim cntRes As Long
    Dim sumRes
    Dim cntCells As Long
    Dim indCurCell As Long
 
    cntRes = 0
    sumRes = 0
 
    cntCells = Selection.CountLarge
    indRefColor = ActiveCell.DisplayFormat.Interior.Color
 
    For indCurCell = 1 To (cntCells - 1)
        If indRefColor = Selection(indCurCell).DisplayFormat.Interior.Color Then
            cntRes = cntRes + 1
            sumRes = WorksheetFunction.Sum(Selection(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, кликните по одной ячейке нужного цвета, затем отпустите Ctrl.
  4. Нажмите Alt+F8, чтобы открыть список макросов в Вашей рабочей книге.
  5. Выберите макрос SumCountByConditionalFormat и нажмите Run (Выполнить).Подсчет и суммирование ячеек по цвету в ExcelВ результате Вы увидите вот такое сообщение:

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

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

  • Count – это число ячеек искомого цвета; в нашем случае это красноватый цвет, которым выделены ячейки со значением Past Due.
  • Sum – это сумма значений всех ячеек красного цвета в столбце Qty., то есть общее количество элементов с отметкой Past Due.
  • Color – это шестнадцатеричный код цвета выделенной ячейки, в нашем случае D2.

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

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

Оцените качество статьи. Нам важно ваше мнение:

Понравилась статья? Поделить с друзьями:
  • Excel как считать только видимые ячейки
  • Excel как считать сумму по всей строке
  • Excel как считать столбец по строке
  • Excel как считать сроки
  • Excel как считать косинус