Среднее всех желтых ячеек в 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 в последних версиях научился, то суммировать по цвету до сих пор не умеет.

Чтобы исправить этот существенный недостаток можно использовать несложные пользовательские макрофункции на 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 2010 и 2013

​Смотрите также​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>And Not bCellIsHidden(cll)​: Саня, Спасибо! Вот​Оформляйте коды тегами​Кол-во волн, но​ добавил Application.Volatile, чтобы​ Пример все-таки не​ цвету. Прилагаемый мною​ строках, но по​ в строках «план»​ не считаются в​Для этого примера мы​ или последние значения);​Замечание:​ пересчитаны автоматически после​

​ cntRes As Long​ шагов, описанных далее,​Из этой статьи Вы​ Then​ как все просто)​ (кнопка #). На​ это так сказать,​ функция пересчитывалась хотя​ совсем удачный, наверное.​ пример очень прост,​ другим условиям. Смотрите​ — это первая,​ строке состояния. Получится​ выбрали столбец​Format only values that​Пожалуйста, помните, что​ этих изменений. Не​

​ Application.Volatile cntRes =​ и через несколько​ узнаете, как в​SkyPro​Leojse​ первый раз исправила​ под результат сделана.​ бы по F9.​ Просто делается универсальная​ но могут же​ в статье «Как​ четвертая и восьмая​ так.​

​Qty.​ are above or​ все эти формулы​ ругайте нас, это​ 0 indRefColor =​ минут Вы узнаете​ Excel посчитать количество​: Да, что-то я​: А можно еще​Pelena​По поводу max.​Byronel​ таблица, в которой​ возникнуть и другие​ в Excel сложить​ строки.​Выделены три строки.​и получили следующие​ below average​ будут работать, если​ не погрешности кода​

  • ​ cellRefColor.Cells(1, 1).Font.Color For​ количество и сумму​ и сумму ячеек​
    • ​ не подумал о​ вопрос? Получается, нужно​: Здравствуйте. А закрашивается​
  • ​ Т.е. нужно min​, В приложении образец​ имеено заточено будет​ условия!​

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

​ каждую вторую ячейку,​В ячейке F1​Быстро выделить столбец​ цифры:​​(Форматировать только значения,​​ Вы уже добавили​На самом деле, это​​ Each cellCurrent In​​ ячеек нужного цвета.​​ определенного цвета. Этот​​ скрытых столбцах​​ всегда теперь вводить​​ тоже руками или​

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

​ и max значения​ – можно поиграть​ под цвет ячеек​Hugo​ строку».​ пишем формулу. На​ можно так. Выделяем​Count​ которые находятся выше​ в свою рабочую​ нормальное поведение макросов​ rData If indRefColor​Откройте книгу Excel и​ способ работает как​Leojse​ две ячейки-образца… Я​ Условным форматированием.​ самой длинной волны​ с ним.​ :-) Может можно​: Так я тоже​Smersh​ закладке «Главная» в​ верхнюю ячейку столбца.​– это число​

  1. ​ или ниже среднего);​ книгу Excel пользовательскую​​ в Excel, скриптов​​ = cellCurrent.Font.Color Then​​ нажмите​​ для ячеек, раскрашенных​
  2. ​:​ наверно неправильно выразился​Файл с примером​ за год, так​​KoGG​​ подругому?​ сперва проверил на​: добрый день. Помогите​ разделе «формулы» -​​ Нажимаем на клавишу​​ ячеек искомого цвета;​​Format only unique or​​ функцию, как было​Подсчет и суммирование ячеек по цвету в Excel
  3. ​ VBA и пользовательских​ cntRes = cntRes​

​Alt+F11​ вручную, так и​Саня​ в постах выше…​ помог бы разобраться.​ я понял?​: To Heidegger :​Byronel​ Вашем файле эту​ разобраться. Имею таблицу​ «Математические» выбираем функцию​ F8 и ставим​ в нашем случае​ duplicate values​ показано ранее в​ функций (UDF). Дело​ + 1 End​, чтобы запустить редактор​ для ячеек с​,​ Я хотел, что​stasprv​baneska​Сознательно не вставлял​: добрый день!​ UDF. Всё считает.​ (см. вложение), в​ «СУММЕСЛИ». В появившемся​ курсор в нижнюю​ это красноватый цвет,​(Форматировать только уникальные​ этой статье.​ в том, что​ If Next cellCurrent​Visual Basic for Applications​ правилами условного форматирования.​SkyPro​если​: Добрый день! Да,​:​ Application.Volatile, чтобы не​есть 2 столбца​Smersh​ которой ячеки с​ диалоговом окне в​ ячейку столбца. Нажимаем​ которым выделены ячейки​ или повторяющиеся значения).​CountCellsByColor(диапазон, код_цвета)​ все подобные функции​ CountCellsByFontColor = cntRes​(VBA).​ Кроме того, Вы​, Огромнейшее спасибо!​нужно посчитать еще​ руками выделяем. Хотелось​YouGreed​ вводить пользователя в​ячейки в них​: Народ, прикрепляю свой​ помощью условного форматирования,​ строке «Диапазон» указываем​ левую мышку.​ со значением​Кроме того, практически все​– считает ячейки​ вызываются только изменением​ End Function Function​Правой кнопкой мыши кликните​ научитесь настраивать фильтр​Воспользовался кодом​ один цвет, то​ бы, конечно, настроить​, Почти.​ заблуждение: да при​ закрашены 4 цветами​ файл. Посмотрите,плиз, что​ при вводе определенного​ диапазон (столбец), в​Или нажимаем сочетание​Past Due​ эти коды VBA​ с заданным цветом​ данных на листе,​ SumCellsByFontColor(rData As Range,​ по имени Вашей​ по нескольким цветам​SkyPro​ дополнительно указать еще​ условное форматирование, но​Не обязательно самой​ изменении значений в​ (причем, некоторые из​ я делаю не​ значения, окрашиваются в​ котором написано слово​ клавиш «Ctrl» +​.​ имеют целый ряд​ заливки.В примере, рассмотренном​ но Excel не​ cellRefColor As Range)​ рабочей книги в​ в Excel 2010​.​ одну ячейку-образец. Это​ прочитал на форумах,​ длиной. Если их​ целевых ячейках функция​ них нестандартны -​ так. Надстройки подключаю​

  1. ​ определенные цвета. Не​ «план». У нас​​ «А». Активная ячейка,​​Sum​ особенностей и ограничений,​ выше, мы использовали​ расценивает изменение цвета​ Dim indRefColor As​ области​ и 2013.​Теперь мне просто​ никак не поправить?​ что тогда невозможно​ несколько за год,​
  2. ​ пересчитается, но если​ выбирал оттенки через​ как описано на​ могу подсчитать колличетво​ – это столбец​ при этом, находится​​– это сумма​​ из-за которых они​

    ​ вот такую формулу​

​ шрифта или заливки​ Long Dim cellCurrent​​Project – VBAProject​​Если Вы активно используете​​ интересно… А как​​ То есть, если​ посчитать кол-во ячеек​ к примеру две​ не меняя значений​​ «другие цвета»)​​ сайте (через сервис-надстройки-пакет​ ячеек определенного цвета,​ В.​

​ в таблице.​ значений всех ячеек​ могут не работать​ для подсчёта количества​ ячейки как изменение​ As Range Dim​

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

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

​О других сочетаниях​

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

​ красного цвета в​ корректно с какой-то​ ячеек по их​

​ данных. Поэтому, после​

​ sumRes Application.Volatile sumRes​​ левой части экрана,​​ цвет шрифта на​​ кодом​​ ячейка-образец, суммируем по​Файл прилагаю.​

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

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

​ цвету:​​ изменения цвета ячеек​ = 0 indRefColor​ далее в появившемся​ листах Excel, чтобы​Сани​ первой.​_Boroda_​ min и max​ — функция автоматически​в ячейках значений​ строку формул и​:)

​ спасибо.​ ищем. Мы написали​ ячейки, смотрите в​Qty.​ типами данных. Так​=CountCellsByColor(F2:F14,A17)​ вручную, просто поставьте​ = cellRefColor.Cells(1, 1).Font.Color​ контекстном меню нажмите​ выделять различные типы​?​Саня​: Почему в одинаковых​ значения за обе​ не пересчитается -​ нет, они просто​ нажал зеленую галочку.​Hugo​​ слово «план», п.ч.​​ статье «Сочетание клавиш​​, то есть общее​​ или иначе, Вы​где​ курсор на любую​ For Each cellCurrent​Insert​ ячеек или значений,​SkyPro​

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

​:​ строках (например, в​ волны.​ надо вводить ее​ закрашены​Hugo​: формула из копилки​ считаем сумму плана.​ в Excel».​ количество элементов с​ можете попытать счастье​F2:F14​ ячейку и кликните​ In rData If​>​

​ то, скорее всего,​: Мой код не​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СУММ_ЦВЕТ(Диапазон_суммирования As Range,​ строках 4 и​YouGreed​ заново.​насколько я понимаю,​: У меня тоже​=Count_CellColor(B2:H2;J2)​ Если бы считали​Четвертый способ​ отметкой​ и google в​– это выбранный​F2​ indRefColor = cellCurrent.Font.Color​Module​ захотите узнать, сколько​ сработает, если скрыты​ Цвет_берется_из_ячейки As Range,​ 5) разная раскраска?​: baneska, Просмотрите файл.​Александр Смит​ подобную задачу надо​ не работает, если​В J2 образец​ сумму «выпушено», то​.​Past Due​

​ поисках идеального решения,​ диапазон,​, а затем​ Then sumRes =​.​ ячеек выделено определённым​ столбцы.​

​ _​
​ Это действительно реальный​

​baneska​: Ctrl+Alt+F9​ решать посредством VBA,​ как критерий указывать​ цвета.​ написали бы критерий​Посчитать количество строк​.​ и если Вам​A17​​Enter​​ WorksheetFunction.Sum(cellCurrent, sumRes) End​Вставьте на свой лист​ цветом. Если же​А вот код​optional Цвет_берется_из_ячейки2 As​

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

​ пример или Вы​:​Heidegger​ некоторые варианты я​ ячейку с УФ.​Hugo​ – «выпущено».​ можно с помощью​

​Color​​ удастся найти его,​– это ячейка​, сумма и количество​ If Next cellCurrent​ вот такой код:​ в ячейках хранятся​ Сани в сборе​ Range)​ просто написали произвольные​

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

  • ​YouGreed​​: Да, тогда пересчитает​ видел в интернете,​ Но если указать​: Если проблема найти​В разделе «Критерий»​функции «Автосумма» в Excel​– это шестнадцатеричный​ пожалуйста, возвращайтесь и​

    ​ с нужным цветом​

    ​ после этого обновятся.​​ SumCellsByFontColor = sumRes​​Function GetCellColor(xlRange As​ числа, то, вероятно,​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СУММ_ЦВЕТ(Диапазон_суммирования As Range,​​if not Цвет_берется_из_ячейки2is​ даты?​, Боже, вы гений.​

    ​ и без Volatile.​ у меня не​ любую залитую нужным​

  • ​ копилку - вот​​ можно писать некоторые​. Выделяем ячейку, в​ код цвета выделенной​

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

  • ​ опубликуйте здесь свою​​ заливки.​ Так нужно сделать,​ End Function​
  • ​ Range) Dim indRow,​​ Вы захотите вычислить​ Цвет_берется_из_ячейки As Range,​ nothing then​

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

  • ​Добавлено​​ Спасибо вам большое​baneska​ получилось​
  • ​ цветом ячейку -​​ точный адрес​ символы.​ которой будет стоять​Подсчет и суммирование ячеек по цвету в Excel

​ ячейки, в нашем​ находку!​Все перечисленные далее формулы​ работая с любым​Сохраните рабочую книгу Excel​ indColumn As Long​ сумму всех ячеек​ _​For Each cll​.​ большое!! )))​: Добрый вечер. :)​помогите, пожалуйста​ всё работает.​Smersh​* (звездочка) означает​ цифра количества строк.​ случае​

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

​Код VBA, приведённый ниже,​ работают по такому​ макросом, который Вы​ в формате​ Dim arResults() Application.Volatile​ с одинаковой заливкой,​Optional Цвет_берется_из_ячейки2 As​ In Диапазон_суммирования.Cells​Всё, почему покрашена​stasprv​С помощью УФ​KoGG​Guest​: Спасибо за помощь,​ любое количество символов​ Нажимаем стрелку у​D2​ преодолевает все указанные​ же принципу.​ найдёте далее в​.xlsm​ If xlRange Is​:(

​ например, сумму всех​ Range)​If cll.Interior.ColorIndex =​ М5, понял. А​: Добрый день, уважаемые​ я выделила цветом​: Function СчетЕслиЦвет(Oblast As​: а у меня​ но есть один​ в слове. Например,​ кнопки «Автосумма» на​

  • ​.​ выше ограничения и​​CountCellsByFontColor(диапазон, код_цвета)​ этой статье.​(Книга Excel с​
  • ​ Nothing Then Set​ красных ячеек.​​If Not Цвет_берется_из_ячейки2​ Цвет_берется_из_ячейки.Interior.ColorIndex or _​
  • ​ вот почему покрашена​ форумчане!​ нужные ячейки (столбец​​ Range, Obrazec As​ не сработало ни​ нюанс. Я пользуюсь​
  • ​ «мор*» — будет​ закладке Excel «Главная»​​Если у Вас возникли​ работает в таблицах​

​– считает ячейки​Представленный ниже скрипт Visual​ поддержкой макросов).Если Вы​ xlRange = Application.ThisCell​Как известно, Microsoft Excel​ Is Nothing Then​cll.Interior.ColorIndex = Цвет_берется_из_ячейки2.Interior.ColorIndex​ АА7?​Подскажите, пожалуйста, как​ K — разница).​ Range) As Variant​ так ни так.​ корпоративной версией 2003​ искать слова на​ и выбираем функцию​ трудности с добавлением​ Microsoft Excel 2010​ с заданным цветом​

​ Basic был написан​ не слишком уверенно​ End If If​ предоставляет набор функций​For Each cll​ Then​Добавлено​ решить сложную техническую​ Теперь, для моей​ ‘ Считает число​Все надстройки всключены.​ Excel. В списках​ «мор» и любое​ «Число».​ скриптов в рабочую​ и 2013, с​

​ шрифта.​ в ответ на​ чувствуете себя с​ xlRange.Count > 1​ для различных целей,​ In Диапазон_суммирования.Cells​summa = summa​.​ задачу. Необходимо подсчитать​ задачи нужно выполнить​ ячеек в заданном​Hugo​ формл такой нет​ окончание (мор, море,​Эта функция считает только​ книгу Excel, например,​ любыми типами условного​SumCellsByColor(диапазон, код_цвета)​ один из комментариев​ VBA, то посмотрите​ Then ReDim arResults(1​ и логично предположить,​If cll.Interior.ColorIndex =​ + cll.Value​А, не, тоже​ количество ячеек определенного​ следующее:​ диапазоне, цвет фона​: Формулу вложил в​ и он ее​ моряк, т.д.). Чтобы​ заполненные строки. Если​ ошибки компиляции, не​

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

  1. ​ форматирования (и снова​– вычисляет сумму​ читателей (также нашим​ подробную пошаговую инструкцию​ To xlRange.Rows.Count, 1​
  2. ​ что существуют формулы​ Цвет_берется_из_ячейки.Interior.ColorIndex _​End If​ доперло.​ цвета, в которых​1.​ которых совпадает с​
  3. ​ файл.​​ не понимает :-(​​ найти все фамилии​ есть пустые ячейки​ работающие формулы и​​ спасибо нашему гуру!).​​ ячеек с заданным​
  4. ​ гуру Excel) и​​ и массу полезных​​ To xlRange.Columns.Count) For​ для подсчёта ячеек​And Not bCellIsHidden(cll)​
  5. ​Next​​Добавлено​​ содержится определенная дата.​​Посчитать количество волн,​​ цветом фона ячейки​​Кроме неё -​Подсчет и суммирование ячеек по цвету в Excel​ Есть какой-нибудь другой​ на букву «Р»​

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

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

  • ​ советов в учебнике​​ indRow = 1​ по цвету. Но,​ Or _​else​Держите формулами и​Мы ведем учет​​ группы выделенных ячеек,​​ образца. Dim Summa1​
  • ​ нужны ещё две​​ способ?​ и заканчивающиеся на​ в формуле исправляем​ можете скачать рабочую​​ выводит количество раскрашенных​​SumCellsByFontColor(диапазон, код_цвета)​ действия, которые упомянул​ Как вставить и​​ To xlRange.Rows.Count For​​ к сожалению, не​
  • ​cll.Interior.ColorIndex = Цвет_берется_из_ячейки2.Interior.ColorIndex​​For Each cll​ условным форматированием.​ посещаемости занятий. Каждый​ с сортировкой по​​ As Variant, c​​ формулы, присутсвуют.​

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

​Юрий М​ букву «в», нужно​ адрес первой ячейки​ книгу Excel с​ ячеек и сумму​– вычисляет сумму​ автор комментария, а​ запустить код VBA​ indColumn = 1​ существует формулы, которая​ _​ In Диапазон_суммирования.Cells​​Привел Вашу таблицу​​ человек должен пройти​​ годам.​​ As Range, ObrazecCvet​Hugo​

​: Это ведь НАДСТРОЙКА.​ написать критерий так​
​ диапазона. Например, мы​
​ примерами и с​

​ значений в этих​

office-guru.ru

Количество выделенных строк в Excel.

​ ячеек с заданным​ именно считает количество​ в Excel.​​ To xlRange.Columns.Count arResults(indRow,​ позволила бы на​​And Not bCellIsHidden(cll)​If cll.Interior.ColorIndex =​ к стандартному виду​ определенной количество курсов.​Например, в 1914 году​ As Long ObrazecCvet​
​: Т.е. две функции,​​ Подключите её и​ — «Р*в» (или​ вставили формулу функцией​ готовыми к использованию​ ячейках, независимо от​ цветом шрифта.​ и сумму ячеек​Когда все закулисные действия​ indColumn) = xlRange(indRow,​
​ обычном листе Excel​​ Then​​ Цвет_берется_из_ячейки.Interior.ColorIndex Then​ — сначала идет​​ К примеру, если​
​ их нет, а​ = Obrazec.Interior.Color For​ извиняюсь…​ всё заработает.​ «Р*В»). Найдет фамилии​ «Автосумма». В этой​ функциями​ типа условного форматирования,​GetCellFontColor(ячейка)​ определённого цвета на​ будут выполнены, выберите​ indColumn).Interior.Color Next Next​ суммировать или считать​summa = summa​summa = summa​ Курс, потом Факт,​ человек пришел на​ в 1915 -​ Each c In​Посчитать выделенные строки в Excel.​sva​
​Guest​​ — Рублев, Рылеев,​
​ формуле указан диапазон​CountCellsByColor​ применённого на листе.​– возвращает код​ всех листах данной​ ячейки, в которые​ GetCellColor = arResults​ по цвету.​ + cll.Value​ + cll.Value​ потом Прогноз. Можно​​ «Русский язык» 23.10.15,​
​ одна волна (т.е.​ Oblast.Cells If c.Interior.Color​: Меня напрягает вот​: Это ведь НАДСТРОЙКА.​ т.д.​ до первой пустой​и​Sub SumCountByConditionalFormat() Dim​
​ цвета шрифта в​ книги. Итак, вот​ нужно вставить результат,​ Else GetCellColor =​Если не использовать сторонние​
​End If​End If​ было сделать и​ то в ячейку​ имеется в виду​
​ = ObrazecCvet Then​​ эта часть.​
​ Подключите её и​? (знак вопроса)​​ ячейке столбца. =СЧЁТ(A4:A6)​​SumCellsByColor​ indRefColor As Long​ выбранной ячейке.​ этот код:​ и введите в​ xlRange.Interior.Color End If​ надстройки, существует только​Next​​Next​ без этого, но​ напротив его фамилии​ последовательно выделенные, без​ Summa1 = Summa1​По идее должно​ всё заработает.{/post}{/quote}​ обозначает один символ.​ Мы адрес ячейки​, и испытать их​ Dim cellCurrent As​GetCellColor(ячейка)​Function WbkCountCellsByColor(cellRefColor As​ них функцию​ End Function Function​ одно решение –​
​Else​
​end if​ формулы получатся сложнее​​ руками ставится дата​
​ перерывов)​ + 1 End​ быть: сервис-надстройки-обзор-находим надстройки​Подключал, вроде что-то​ Например, критерий «ст?л»​ А4 исправляем на​
​ на своих данных.​
​ Range Dim cntRes​– возвращает код​ Range) Dim vWbkRes​CountCellsByColor​ GetCellFontColor(xlRange As Range)​ создать пользовательскую функцию​For Each cll​
​СУММ_ЦВЕТ = summa​​ — оно Вам​
​ и ячейка закрашивается​;​​ If Next СчетЕслиЦвет​​ Summ_Color-ок​ происходит, но в​​ — будет искать​
​ адрес ячейки А1.​Урок подготовлен для Вас​
​ As Long Dim​ цвета заливки в​ Dim wshCurrent As​
​:​ Dim indRow, indColumn​ (UDF). Если Вы​ In Диапазон_суммирования.Cells​End Function​ надо?​
​ в зеленый цвет,​2.​ = Summa1 End​Guest​ итоге все-равно ошибка​ стул, стол, т.д.​ Получится так.​ командой сайта office-guru.ru​

excel-office.ru

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

​ sumRes Dim cntCells​ ​ выбранной ячейке.​ ​ Worksheet Application.ScreenUpdating =​​CountCellsByColor(диапазон, код_цвета)​ As Long Dim​ мало знаете об​If cll.Interior.ColorIndex =​оба варианта рабочие:​stasprv​ если нет -​Посчитать продолжительность этих​
​ Function Function СумЕслиЦвет(Oblast​: Отлично!!! Все вроде​
​ #Имя​ Можно написать несколько​Пятый способ.​Источник: https://www.ablebits.com/office-addins-blog/2013/12/12/count-sort-by-color-excel/​ As Long Dim​
​Итак, посчитать количество ячеек​ False Application.Calculation =​В этом примере мы​ arResults() Application.Volatile If​ этой технологии или​ Цвет_берется_из_ячейки.Interior.ColorIndex _​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ_ЦВЕТ(F8:F1317;F348)​: _Boroda_, спасибо Вам​ красный. Каждый 3​ волн с сортировкой​ As Range, Obrazec​ работает спасибо!!!​R Dmitry​
​ вопросительных знаков. Например,​Посчитать, если выделено цветом​Перевел: Антон Андронов​ indCurCell As Long​ по их цвету​ xlCalculationManual vWbkRes =​ используем формулу​ xlRange Is Nothing​ вообще никогда не​
​And Not bCellIsHidden(cll)​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ_ЦВЕТ(F8:F1317;F348;F349)​ большое. Отличное решение!​
​ месяца необходимо проводить​ по годам.​ As Range) As​P.S. А не​: А зачем вообще​ «Иван?????» (Иванов, Иванченко,​ – формула Excel​Автор: Антон Андронов​ cntRes = 0​ и вычислить сумму​ 0 For Each​=CountCellsByColor(F2:F14,A17)​ Then Set xlRange​ слышали этого термина,​ Then​Leojse​Leojse​
​ «чистки рядов» и​Например, в 1915 году​ Variant ‘ Суммирует​ подскажешь как вкладывать​ цвета считать, если​ т.д.)​.​Говорят, что нет​ sumRes = 0​
​ значений в раскрашенных​ wshCurrent In Worksheets​, где​ = Application.ThisCell End​ не пугайтесь, Вам​
​summa = summa​: Саня, Спасибо еще​: Добрый вечер.​ отчислять тех, кто​ — волна продолжалась​ заданный диапазон ячеек​ фукнции в файл,​ вы используете уф,​О других символах,​
​Можно написать такую​ специальной функции без​
​ cntCells = Selection.CountLarge​
​ ячейках оказалось совсем​ wshCurrent.Activate vWbkRes =​
​F2:F14​ If If xlRange.Count​ не придётся писать​ + cll.Value​
​ раз, как раз​​Есть такая функция,​​ не ходит, потому​
​ 13 дней, а​ при условии, что​ в частности Count_CellColor?​ можно и условия​ которые можно вставить​ формулу. =СЧЁТ(A1:A6) Эта​
​ макросов​ indRefColor = ActiveCell.DisplayFormat.Interior.Color​ не сложно, не​ vWbkRes + CountCellsByColor(wshCurrent.UsedRange,​– это диапазон,​ > 1 Then​ код самостоятельно. Здесь​End If​ то, чо нужно!​ которая подсчитывает сумму​ необходимо посчитать сколько​ в в 1917​ RGB цвет фона​
​Smersh​
​ посчитать​
Как посчитать в excel ячейки в определенных строках.​ в формулу, читайте​ формула считает только​посчитать количество выделенных строк​ For indCurCell =​ так ли? Но​ cellRefColor) Next Application.ScreenUpdating​
​ содержащий раскрашенные ячейки,​ ReDim arResults(1 To​ Вы найдёте отличный​Next​Leojse​ значений залитых ячеек​ в том или​ — 10 дней​

excel-office.ru

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

​ слагаемого совпадает с​​: С функциями разобрался​например так​ в статье «Символы​ ячейки с числами,​ в Excel​ 1 To (cntCells​ что если Вы​ = True Application.Calculation​ которые Вы хотите​ xlRange.Rows.Count, 1 To​ готовый код (написанный​End If​: Добрый день.​

​ по ячейке-образцу:​​ ином временном интервале​
​;​
​ цветом фона ячейки​ ;-)) А возможно​

​Guest​​ в формулах Excel».​ а с текстом​. Неправда. Есть много​

​ — 1) If​​ не раскрашиваете ячейки​ = xlCalculationAutomatic WbkCountCellsByColor​ посчитать. Ячейка​ xlRange.Columns.Count) For indRow​ нашим гуру Excel),​СУММ_ЦВЕТ = summa​Подскажите, а возможно​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СУММ_ЦВЕТ(Диапазон_суммирования As Range,​ посетил и пропустил​3.​

​ образца. Dim Summa1​​ ли сделать, так,​: Есть ли УФ​В строке «Диапазон_суммирования»​

​ – не считает.​​ других приемов, чтобы​ indRefColor = Selection(indCurCell).DisplayFormat.Interior.Color​ вручную, а предпочитаете​

​ = vWbkRes End​A17​ = 1 To​ и всё, что​

​End Function​​ ли, чтобы функция​ Цвет_берется_из_ячейки As Range)​ занятий. Например, сколько​Амплитуду волн. Т.е.​ As Variant, c​
​ что если в​

​ на листе? Если​​ указываем диапазон (столбец),​Шестой способ.​ посчитать выделенные строки,​ Then cntRes =​

​ использовать условное форматирование,​ Function Function WbkSumCellsByColor(cellRefColor​– содержит определённый​
​ xlRange.Rows.Count For indColumn​ Вам потребуется сделать​Function bCellIsHidden(rngCell As​ суммировала только видимые​For Each cll​ занятий посетил Иван​ min и max​ As Range, ObrazecCvet​ ячейке образце менять​ есть — какие​ в котором находятся​Чтобы посчитать ячейки​

​ ячейки Excel. Было​ cntRes + 1​ как мы делали​ As Range) Dim​ цвет заливки, в​ = 1 To​

​ – это скопировать​​ Range) As Boolean​ ячейки?​ In Диапазон_суммирования.Cells​ петров с октября​ температуры.​ As Long ObrazecCvet​

​ цвет, то формулы​ применены условия?{/post}{/quote}​
​ числа, то, что​ (строки) по определенному​ бы желание, а​

​ sumRes = WorksheetFunction.Sum(Selection(indCurCell),​​ это в статьях​ vWbkRes Dim wshCurrent​ нашем случае красный.​ xlRange.Columns.Count arResults(indRow, indColumn)​ его и вставить​bCellIsHidden = rngCell.EntireRow.Hidden​SkyPro​
​If cll.Interior.ColorIndex =​ по декабрь.​

​Например, в 1915 году​​ = Obrazec.Interior.Color For​ бы автоматически пересчитывалась?​В первом сообщении​ нам нужно сложить.​ условию, используем функцию​ способы найдем. )))​ sumRes) End If​

​ Как изменить цвет​​ As Worksheet Application.ScreenUpdating​Точно таким же образом​ = xlRange(indRow, indColumn).Font.Color​ в свою рабочую​

​ Or _​​:​ Цвет_берется_из_ячейки.Interior.ColorIndex Then​Обыскал весь интернет,​ — min 1.348,​ Each c In​ Заранее спасибо!!!​ прикреплен пример файла.​ У нас -​ «СЧЁТЕСЛИ». Примеры формул​Один из способов​

​ Next MsgBox «Count=»​​ заливки ячеек и​ = False Application.Calculation​ Вы записываете формулу​ Next Next GetCellFontColor​ книгу.​rngCell.EntireColumn.Hidden​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СУММ_ЦВЕТ(Диапазон_суммирования As Range,​summa = summa​

​ похоже, стандартными средствами​​ max 7.248​ Oblast.Cells If c.Interior.Color​Smersh​
​ Условия УФ следующие:​

​ это столбец С.​​ смотрите в статье​узнать количество выделенных​
​ & cntRes &​ Как изменить цвет​ = xlCalculationManual vWbkRes​

​ для других цветов,​​ = arResults Else​Считаем и суммируем по​

​End Function​​ Цвет_берется_из_ячейки As Range,​ + cll.Value​

​ задачу не решить.​.​ = ObrazecCvet Then​

​: Ребят, подскажите, есть​​Есть 7 критериев​ Диалоговое окно заполнили​

​ «Функция «СЧЁТЕСЛИ» в​ строк – это​ vbCrLf & «Sum=​ заливки строки, основываясь​

​ = 0 For​​ которые требуется посчитать​ GetCellFontColor = xlRange.Font.Color​ цвету, когда ячейки​Leojse​ _​End If​Нашел такой скрипт,​У самой, к​

​ Summa1 = Summa1​​ такая возможность или​ оценки людей и​ так. Нажимаем «ОК».​

​ Excel» здесь.​​ настроить порядковые номера​

​ » & sumRes​
​ на значении ячейки?​
​ Each wshCurrent In​
​ в таблице (жёлтый​

​ End If End​​ раскрашены вручную​: Просто ради интереса​Optional Цвет_берется_из_ячейки2 As​

​Next​​ он суммирует по​ сожалению, мозгов не​ + c.Value End​ нет?​ каждому критерию соответвуют​Получилась такая формула.​Седьмой способ​ строк после фильтра.​ & vbCrLf &​Если Вы применили условное​ Worksheets wshCurrent.Activate vWbkRes​ и зелёный).​ Function Function CountCellsByColor(rData​Считаем сумму и количество​ попробовал код Сани,​ Range)​СУММ_ЦВЕТ = summa​ цвету, а как​

​ хватает разобраться с​​ If Next СумЕслиЦвет​ТолькоУчусь​

​ определенные баллы (от​​ =СУММЕСЛИ(B2:B10;»план»;C2:C10)​.​ Смотрите об этом​ vbCrLf & _​

​ форматирование, чтобы задать​​ = vWbkRes +​Если в раскрашенных ячейках​ As Range, cellRefColor​ ячеек по цвету​ который в сборе)​If Not Цвет_берется_из_ячейки2​End Function​ сюда добавить выбор​ этим. Помогите, пожалуйста,​ = Summa1 End​

planetaexcel.ru

Посчитать количество цветных ячеек

​: Кажется так.​​ 1 до 10).​
​Формула посчитала.​
​Посчитать строки, выделенные условным​ способе статью «Порядковый​ «Color=» & Left(«000000»,​ цвет заливки ячеек​ SumCellsByColor(wshCurrent.UsedRange, cellRefColor) Next​ содержатся численные данные​
​ As Range) As​ во всей книге​
​Выдает ошибку на​ Is Nothing Then​Формула — =СУММ_ЦВЕТ(F8:F1317;F348),​
​ по дате (мясяцу)?​ кто чем может.​ Function​————————​ При установке определенных​В ячейке F2 пишем​ форматированием​
​ номер строк по​

​ 6 — Len(Hex(indRefColor)))​​ в зависимости от​ Application.ScreenUpdating = True​ (например, столбец​ Long Dim indRefColor​Считаем и суммируем по​ первой строчке​For Each cll​ где F8:F1317 -​ А еще лучше​Заранее, большое спасибо.​Byronel​’Ваш код​ чисел ячейки окрашиваются​ такую формулу. =СУММЕСЛИ(B2:B10;»выпущено»;C2:C10)​или​ порядку после фильтра​ & _ Hex(indRefColor)​ их значений, и​ Application.Calculation = xlCalculationAutomatic​Qty.​ As Long Dim​ цвету, когда к​200?’200px’:»+(this.scrollHeight+5)+’px’);»>And Not bCellIsHidden(cll) Or​ In Диапазон_суммирования.Cells​ суммируемый диапазон, F348​ временному интервалу​ ))​: сразу предупреждаю, с​Application.Calculate = True​ в три цвета​Ещё примеры счета​окрашены цветом вручную в​ в Excel»​ & vbCrLf, ,​ теперь хотите посчитать​ WbkSumCellsByColor = vWbkRes​в нашей таблице),​ cellCurrent As Range​ ячейкам применены правила​ _​If cll.Interior.ColorIndex =​ — ячейка-образец​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function КолЦвет(диапазон As Range,​​YouGreed​ VBA работал давно​
​————————​ (красный — негатив,​ с условием смотрите​ Excel​Второй способ​ «Count & Sum​
​ количество ячеек определённого​
​ End Function​
​ Вы можете суммировать​ Dim cntRes As​ условного форматирования​, выделяя при​ Цвет_берется_из_ячейки.Interior.ColorIndex And cll.EntireRow.Hidden​
​Подскажите, а можно​ критерий As Range)​: baneska, Так-с, предлагаем.​создал модуль, забил​Smersh​ желтый — что-то​

​ в статье «Функция​​.​–​ by Conditional Format​ цвета или сумму​Добавьте этот макрос точно​
​ значения на основе​ Long Application.Volatile cntRes​Предположим, у Вас есть​ этом cll. Ошибка​ = False Or​ ли как-то подредактировать​
​ As Double​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЧЁТЕСЛИМН($A$2:$A$1178;$K4;$H$2:$H$1178;5)​ туда этот код​: Ясно. Спасибо всем​ среднее, зеленый -​ «СУММЕСЛИ» в Excel».​
​Можно применить фильтр​​посчитать количество выделенных ячеек​ color» End Sub​ значений в них,​

​ также, как и​​ выбранного цвета ячейки,​
​ = 0 indRefColor​ таблица заказов компании,​ — Compile error:​ _​ функцию, чтобы сумма​’ Определяет число​Нужно уточнение, счет​ и сохранил, выбрал​ огромное за помощь​ все отлично).​Теперь нам нужно​ по цвету.​ в столбце Excel​Добавьте код, приведённый выше,​

​ то у меня​​ предыдущий код. Чтобы​

​ используя аналогичную функцию​​ = cellRefColor.Cells(1, 1).Interior.Color​ в которой ячейки​

CyberForum.ru

Посчитать количество выделенных цветом ячеек. (Формулы/Formulas)

​ ByRef argument type​​cll.Interior.ColorIndex = Цвет_берется_из_ячейки2.Interior.ColorIndex​
​ подсчитывалась по двум​ ячеек «диапазона»,​ максимальной продолжительности волны​ имя модуля «test»​ и участие :-)​На вопрос R​посчитать проценты в Excel​
​Затем выделить ячейки и​​.​ на Ваш лист,​ для Вас плохие​ получить количество и​​SumCellsByColor​ For Each cellCurrent​ в столбце​ mismatch. Так что​ _​ ячейкам-образцам (мне нужно​’ цвет которых​​ или сумма всех​
​ и в конце​​Smersh​ Dmitry отвечаю. Ваш​.​​ посмотреть количество в​Выделяем ячейки в​ как мы делали​ новости – не​ сумму цветных ячеек​​:​
​ In rData If​​Delivery​ пользуюсь Вашим кодом,​And cll.EntireRow.Hidden =​​ получить сумму значений​ совпадает с цветом​ волн?​​ добавилось 2 строки​
​: Народ, нужна еще​ способ вроде подходит,​В ячейку F3​ строке состояния.​ столбце и смотрим​
lol
​ это в первом​ существует универсальной пользовательской​

​ используйте вот такие​​SumCellsByColor(диапазон, код_цвета)​
​ indRefColor = cellCurrent.Interior.Color​
​раскрашены в зависимости​SkyPro​ False Then​ по двум цветам)?​
​ в ячейке «критерий»​
​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МИН(ЕСЛИ(($A$2:$A$1178=$K4)*($H$2:$H$1178=5)*$G$2:$G$1178>0;$G$2:$G$1178))​»Sub test()​
​ Ваша помощь. В​ но подсчет кол-ва​
​ напишем формулу, которая​
​Здесь ячейки выделены условным​
​ внизу листа Excel​ примере.​
​ функции, которая будет​ формулы:​

​Как показано на снимке​​ Then cntRes =​
​ от их значений:​
​, но и​
​summa = summa​

​ То есть, если​​Application.Volatile True​​Формула массива, вводится​​End Sub»​ примере в ячейках​
​ ячеек — проще​ посчитает средний процент​ форматированием. Отфильтровали по​ в строке состояния​

​Выберите диапазон (или диапазоны),​​ по цвету суммировать​​=WbkCountCellsByColor()​
​ экрана ниже, мы​ cntRes + 1​Due in X Days​
​Сане​ + cll.Value​ при вводе второй​Dim i As​ Ctrl+Shift+Enter.​забил внутрь текст​

​ B,C,D 17 УФД,​​ :-)​​ выполнения плана по​​ цвету. В строке​:)​ цифру «Количество». Это​ в которых нужно​ или считать количество​=WbkSumCellsByColor()​ использовали формулу:​ End If Next​– оранжевые,​огромное спасибо)​End If​

​ ячейки-образца, то считался​​ Range​

​Наименьшее значение в​​ функций — пишется​​ привязанное к цифрам.​​R Dmitry​ фирме. Здесь пригодится​ состояния написано, что​girl_smile

excelworld.ru

Подсчет количества ячеек по цвету и дате (Макросы/Sub)

​ число заполненных выделенных​​ сосчитать цветные ячейки​ ячеек и выводить​
​Просто введите одну из​=SumCellsByColor(D2:D14,A17)​ cellCurrent CountCellsByColor =​Delivered​Саня​Next​
​ бы и второй​For Each i​ волне.​ компайл ерор, ожидается​ Хотелось бы сделать​: На вопрос R​ функция Excel «СРЗНАЧЕСЛИ».​ выделено 3 строки​ ячеек. Пустые ячейки​ или просуммировать по​ результат в определённые​ этих формул в​где​ cntRes End Function​– зелёные,​: И Вам огромное​Else​ цвет.​ In диапазон​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(($A$2:$A$1178=$K4)*($H$2:$H$1178=5)*$G$2:$G$1178)​ End Sub, в​ 3-е условие, что​ Dmitry отвечаю. Ваш​В ячейке устанавливаем​ (ячейки).​ так Excel не​
​ цвету, если в​ ячейки. По крайней​ любую пустую ячейку​
​D2:D14​ Function SumCellsByColor(rData As​Past Due​ спасибо, заходите еще…​For Each cll​Саня​If i.Interior.Color =​
​Формула массива.​ чем ошибка?​ если хоть одна​
​ способ вроде подходит,​ формат «процентный». На​
​Как преобразовать формат​ считает. Но, если​ них содержатся числовые​
​ мере, я не​
​ на любом листе​– диапазон,​
​ Range, cellRefColor As​– красные.​
​перед​ In Диапазон_суммирования.Cells​
​:​ критерий.Interior.Color Then​
​Максимальное значение в​
​и попутно вопрос​
​ из ячеек B5:B16​

​ но подсчет кол-ва​ закладке «Формулы» выбираем​ данных из других​ нужно посчитать строку,​ данные.​ слышал о таких​ Excel. Диапазон указывать​A17​ Range) Dim indRefColor​
​Теперь мы хотим автоматически​200?’200px’:»+(this.scrollHeight+5)+’px’);»>If Not Цвет_берется_из_ячейки2 Is​If cll.Interior.ColorIndex =​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ_ЦВЕТ(F8:F1317;F348)+СУММ_ЦВЕТ(F8:F1317;F349)​КолЦвет = КолЦвет​ волне.​
​ — как узнать​ красного цвета, то​ ячеек — проще​

​ «Другие функции» -​​ программ в формат​ в которой в​Нажмите и удерживайте​
​ функциях, а жаль​ не нужно, но​

​– ячейка с​​ As Long Dim​ сосчитать количество ячеек​ Nothing Then​ Цвет_берется_из_ячейки.Interior.ColorIndex _​шутка.​ + 1​Осталось посчитать кол-во​ код цвета, насколько​
​ ячейка B17 окрашивалась​

​ :-)​​ «Статистические» и, выбираем​ числа Excel, чтобы​ столбце А нет​Ctrl​Конечно, Вы можете найти​ необходимо в скобках​ образцом цвета.​ cellCurrent As Range​
​ по их цвету,​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>dim cll as​
​And cll.EntireRow.Hidden =​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function СУММ_ЦВЕТ(Диапазон_суммирования As​End If​ волн.​
​ я понял именно​​ бы тоже в​
​как сказать…… если​ функцию «СРЗНАЧЕСЛИ». Диалоговое​
​ формулы считали такие​
​ значений, а есть​, кликните по одной​
​ тонны кода VBA​ указать любую ячейку​Таким же образом Вы​ Dim sumRes Application.Volatile​ то есть сосчитать​ range​ False Then​ Range, Цвет_берется_из_ячейки As​Next​_Boroda_​

​ его значение нужно​​ красный цвет. В​ условий немного :)),​

excelworld.ru

Подсчет суммы ячеек по цвету (редактирование функции) (Макросы Sub)

​ окно заполняем, как​​ числа, смотрите в​
​ в столбце В,​ ячейке нужного цвета,​ в интернете, который​ с заливкой нужного​
​ можете посчитать и​ sumRes = 0​
​ количество красных, зелёных​Leojse​
​summa = summa​ Range, _​
​End Function​: Длинная, зато быстрая​
​ подставить в ObrazecCvet​
​ этом файле вложены​
​в лбом случае​
​ в предыдущей формуле,​

​ статье «Преобразовать текст​ то выделяем ячейку​ затем отпустите​ пытается сделать это,​
​ цвета, например,​ просуммировать ячейки по​ indRefColor = cellRefColor.Cells(1,​ и оранжевых ячеек​: Спасибо, все работает)​ + cll.Value​Цвет_берется_из_ячейки2 As Range)​Подскажите, пожалуйста, как​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(—(—(ИНДЕКС(H$1:H$1178;ПОИСКПОЗ(K4;A$1:A$1178;)-1):ИНДЕКС(H$1:H$1178;ПОИСКПОЗ(K4;A$1:A$1178;)-2+СЧЁТЕСЛИ($A$1:$A$32;A$2))&ИНДЕКС(H$1:H$1178;ПОИСКПОЗ(K4;A$1:A$1178;)):ИНДЕКС(H$1:H$1178;ПОИСКПОЗ(K4;A$1:A$1178;)-1+СЧЁТЕСЛИ($A$1:$A$32;A$2)))=5))​Heidegger​ две функции, т.к.​ право выбора всегда​

​ только «критерий» пишем​​ в число Excel».​​ столбца В. Главное,​
​Ctrl​
​ но все эти​=WbkSumCellsByColor(A1)​ цвету шрифта при​
​ 1).Interior.Color For Each​
​ на листе. Как​bumnik​
​End If​For Each cll​
​ это можно решить?​Короткая, но медленнее​
​: Текст функций не​ в моем excel​
​ за вами​
​ «%» — это​
​Как посчитать в​
​ чтобы были выделены​
​.​

​ коды (по крайней​​, и формула вернет​ помощи функций​

​ cellCurrent In rData​​ я уже сказал​: Здравствуйте! Можно ли​Next​ In Диапазон_суммирования.Cells​ VBA изучал еще​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ(—((A$2:A$1178=K4)*(H$1:H$1177&H$2:H$1178)=5))​ нужно никуда забивать​​ можно только так.​​Z​ в нашей таблице​Excel​ ячейки всех нужных​Нажмите​ мере, те экземпляры,​ сумму всех ячеек​CountCellsByFontColor​ If indRefColor =​

​ выше, прямого решения​​ данной функцией суммировать​​End If​If cll.Interior.ColorIndex =​ в институте, а​
​baneska​ – они должны​
​ Заранее спасибо.​: "НУ,ВЫ,БЛИН, ДАЕТЕ!"(с) -​
​ так написано. Получилась​ячейки выборочно​
​ строк. Например, так.​Alt+F8​
​ которые попадались мне)​ в книге, окрашенных​
​и​ cellCurrent.Interior.Color Then sumRes​
​ этой задачи не​
​ диапазон цифр +​
​СУММ_ЦВЕТ = summa​
​ Цвет_берется_из_ячейки.Interior.ColorIndex or _​ это было достаточно​
​:​ быть на верхнем​
​Hugo​ "На вопрос R​
​ такая формула.​
​, не все подряд,​
​Здесь выделили четыре строки.​
​, чтобы открыть список​
​ не обрабатывают правила​

​ в этот же​
​SumCellsByFontColor​
​ = WorksheetFunction.Sum(cellCurrent, sumRes)​

​ существует. Но, к​​ цифры только вот​End Function​cll.Interior.ColorIndex = Цвет_берется_из_ячейки2.Interior.ColorIndex​

​ давно и за​​YouGreed​
​ уровне.​: А если УФ​ Dmitry отвечаю. Ваш​=СРЗНАЧЕСЛИ(B2:B10;»%»;C2:C10)​

​ а по условию?​​Третий способ​​ макросов в Вашей​ условного форматирования, такие​ цвет.​
​соответственно.​ End If Next​
​ счастью, в нашей​ с таким символом​
​Пробуйте​ Then​
​ несколько часов вспомнить​, Спасибо за отклик.​Нет, вторым аргументом​ поменять?​
​ способ вроде подходит,​Таблица посчитала так.​
​ Если вводить формулу​.​
​ рабочей книге.​ как:​
​Здесь Вы найдёте самые​
​Замечание:​
​ cellCurrent SumCellsByColor =​
​ команде есть очень​ ( ' )​
​Саня​summa = summa​
​ синтаксис не получается​ ))​
​ функции идёт ячейка,​Hugo​
​ но подсчет кол-ва​
​Как посчитать наценку, скидку,​
​ вручную в большой​
​Можно в таблице​
​Выберите макрос​

​Format all cells based​

​ важные моменты по​​Если после применения​​ sumRes End Function​ умелые и знающие​
​ (например: от 1​:​
​ + cll.Value​
​ :(​

​Нет нет, max​ имеющая целевой цвет,​

​: Вернее это условие​​ ячеек — проще​ умножив столбец на​ таблице, то это​:)

​ фильтром отфильтровать нужные​​Sum​​ on their values​​ всем функциям, использованным​​ выше описанного кода​​ Function CountCellsByFontColor(rData As​
​ Excel гуру, и​​ до 12 +​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function bCellIsHidden(rngCell As Range)​
​End If​Пример как организованы​ это — максимальное​ вхождения которого ищутся​​ с формулой нужно​​ :-)​

​ число, смотрите в​​ очень долго. Нас​ данные. Затем выделить​CountByConditionalFormat​
​(Форматировать все ячейки​ нами в этом​:)
​ VBA Вам вдруг​ Range, cellRefColor As​ один из них​
​ 1', 2', 3',​ As Boolean​
​Next​ данные - во​
​ значение в период​ во входном диапазоне​
​ первым поставить, затем​И чему улыбаться​
​ статье "Как умножить​ выручит функция Excel​
​ отфильтрованные ячейки в​и нажмите​
​ на основании их​ примере, а также​
​ потребуется раскрасить ещё​ Range) As Long​
​ написал безупречный код​
​ 4', 5', 6'​
​bCellIsHidden = rngCell.EntireRow.Hidden​
​СУММ_ЦВЕТ = summa​ вложении. Оставил в​
​ определённой волны.​ (первый аргумент функции).​
​ уже два других.​ - "=СЧЁТЕСЛИ(B2:H2;" 44325​
​ в Excel число​ «СУММЕСЛИ».​
​ столбце. В строке​
​Run​
​ значений);​
​ пару новых функций,​
​ несколько ячеек вручную,​
​ Dim indRefColor As​ для Excel 2010​
​ и т.д.)​ Or _​
​End Function​
​ нем только несколько​

​YouGreed​​KoGG​Smersh​Guest​
​ на число, проценты».​У нас такая​​ состояния будет видно​(Выполнить).​​Format only top or​ которые определяют коды​ сумма и количество​ Long Dim cellCurrent​ и 2013. Итак,​Читайте правила форума,​​rngCell.EntireColumn.Hidden​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ_ЦВЕТ(F8:F1317;F348;F349)​​ строк, оригинал гораздо​​: baneska,​

​, прекрасный код, но​​: Да этот вариант,​: Мне принципиально посчитать​:D
​Ещё один способ​
​ таблица.​ количество строк. Помним,​
​В результате Вы увидите​ bottom ranked values​

​ цветов.​​ ячеек не будут​

​ As Range Dim​​ выполните 5 простых​ создавайте свою тему!​End Function​Leojse​ больше.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(МАКС(($A$2:$A$1178=$K4)*($H$2:$H$1178=5)*$B$2:$B$1178)-МИН(ЕСЛИ(($A$2:$A$1178=$K4)*($H$2:$H$1178=5)*$B$2:$B$1178>0;$B$2:$B$1178))>$Q4;2;ЕСЛИ($Q4=0;0;1))​ я бы ещё​ я тоже рассматривал.​ кол-во ячеек по​ посчитать ячейки в​Складываем ячейки с суммой​
​ что пустые ячейки​ вот такое сообщение:​

excelworld.ru

​(Форматировать только первые​

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now

Подсчет или сумма цветных ячеек с помощью функции GET.CELL

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

1. Нажмите Формулы > Определить имя. Смотрите скриншот:

2. В диалоговом окне «Новое имя» выполните следующие действия:
(1) Введите имя в поле Имя;
(2) Введите формулу = GET.CELL (38; Sheet4! $ E2) в поле «Относится к» (внимание: в формуле, 38 означает возврат кода ячейки, и Sheet4! $ E2 — это первая ячейка в столбце Сумма, за исключением заголовка столбца, который необходимо изменить в зависимости от данных таблицы.)
(3) Щелкните значок OK кнопку.

3. Теперь добавьте новый столбец «Цвет» прямо в исходную таблицу. Затем введите формулу = NumColor , и перетащите маркер автозаполнения, чтобы применить формулу к другим ячейкам в столбце «Цвет». Смотрите скриншот:
Внимание: В формуле NumColor — это именованный диапазон, который мы указали на первых двух шагах. Вам необходимо изменить его на указанное вами имя.

Теперь цветовой код каждой ячейки в столбце «Сумма» возвращается в столбце «Цвет». Смотрите скриншот:

4. Скопируйте и укажите цвет заливки в пустом диапазоне на активном листе и введите формулы рядом с ним, как показано ниже:
A. Чтобы подсчитать ячейки по цвету, введите формулу = СЧЁТЕСЛИ ($ F $ 2: $ F $ 20, NumColor);
Б. Чтобы суммировать ячейки по цвету, введите формулу = СУММЕСЛИ ($ F $ 2: $ F $ 20, NumColor, $ E $ 2: $ E $ 20).

Внимание: В обеих формулах 2 франка: 20 франкских долларов столбец Цвет, NumColor это указанный именованный диапазон, 2 доллара E $: 20 E $ — это столбец суммы, и вы можете изменить их по своему усмотрению.

Теперь вы увидите, что ячейки в столбце «Сумма» подсчитываются и суммируются по цветам заливки.


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

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

1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

VBA: подсчет и суммирование ячеек на основе цвета фона:

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

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

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

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

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


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

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

1. Выберите пустую ячейку, в которую вы помещаете результаты подсчета, и нажмите Кутулс > Kutools Функции > Статистические и математические > COUNTBYCELLCOLOR. Смотрите скриншот:

2. В диалоговом окне «Аргументы функций» укажите диапазон, в котором будут подсчитываться цветные ячейки в Справка выберите ячейку, заполненную указанным цветом фона в поле Color_index_nr и нажмите OK кнопка. Смотрите скриншот:

Ноты:
(1) Вы также можете ввести указанную функцию Kutools = COUNTBYCELLCOLOR ($ A $ 1: $ E $ 20, G2)  непосредственно в пустой ячейке или строке формул, чтобы получить результаты подсчета;
(2) Нажмите Кутулс > Kutools Функции > Статистические и математические > SUMBYCELLCOLOR или типа = SUMBYCELLCOLOR ($ A $ 1: $ E $ 20, G2) в пустой ячейке непосредственно для суммирования ячеек на основе указанного цвета фона.
Применить COUNTBYCELLCOLOR и SUMBYCELLCOLOR функции для каждого цвета фона отдельно, и вы получите результаты, как показано на скриншоте ниже:

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


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

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

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

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

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

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

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


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


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


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

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

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

вкладка kte 201905


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

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

офисный дно

Посчитать среднее диапазона, исключая нулевые значения

То есть подобная, казалось бы, банальная конструкция — посчитать среднее, исключая из массива нули — не хочет работать со строковыми диапазонами. Это у меня с Excel что-то не так или нужно что-то еще сделать?

С Excel все в порядке, но нужно что-то еще сделать 🙂

Ни первая, ни вторая формулы без этого «чего-то» правильно работать не будут. Бывает, что результат совпадает с ожидаемым, но это совпадение, не более, и в каждом конкретном случае такое совпадение можно объяснить.

введите сюда описание изображения

На рисунке пример. Формулы автора в закрашенных ячейках: в желтых для A1:A4, в зеленых для A1:D1. Ошибочно думать, что формула будет работать всегда, если она размещена в том же диапазоне строк/столбцов. Это только иллюстрация того, что такие формулы требуют особого обращения.

Тут все понятно — определяем среднее значение диапазона.

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

В поле для ввода формулы выделяем вложенную функцию с ее содержимым

нажимаем клавишу F9 . Что видим? Вместо выделенной части в формуле волшебным образом появился массив констант, состоящий из чисел и логического выражения ЛОЖЬ.

Кстати, F9 (запуск пересчета) удобно использовать для просмотра работы формулы или поиска ошибки.

  • Вот и дошли до «чего-то».

Формула массива вводится тремя клавишами. Находясь в поле ввода формулы (или в режиме редактирования ячейки), нажимаем Ctrl+Shift+Enter — формула должна обрамиться фигурыми скобками. При правке фигурные скобки пропадают, завершать изменения формулы тоже нужно тремя клавишами.

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

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

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

Если вы уже постигли азы, предлагаю вам продолжить знакомство с формулами массива вместе с Джоном Уокенбахом и его книгой MS Excel 2007. Библия пользователя. – М.: Издательский дом «Вильямс», 2008. – 816 с.

Скачать заметку в формате Word, примеры в формате Excel

Вычисление среднего, не учитывающего нулевые значения

На рис. 1 показан рабочий лист, на котором вычисляется средний объем продаж группы продавцов. Формула в ячейке В14 имеет вид: =СРЗНАЧ(Продажи). Она вычисляет среднее значений из диапазона ВЗ:В10, которому присвоено имя Продажи. Некоторые продавцы не работали, но они также учитывались при вычислении среднего. Функция СРЗНАЧ игнорирует пустые ячейки, но учитывает ячейки с нулевыми значениями.

Следующая формула массива, записанная в ячейке В15, возвращает среднее без учета ячеек, содержащих 0: . Эта формула создает виртуальный массив, содержащий только ненулевые значения из диапазона Продажи. Этот массив используется в качестве аргумента в функции СРЗНАЧ.

Тот же результат можно получить с помощью обычной формулы (не формулы массива), записанной в ячейке В16: =СУММ(Продажи)/СЧЁТЕСЛИ(Продажи;»>0″). Эта формула использует функцию СЧЁТЕСЛИ для определения числа ненулевых значений в заданном диапазоне, на которое затем делится сумма значений этого диапазона.

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

Как усреднить диапазон данных, игнорируя ноль в Excel?

Как усреднить диапазон данных, игнорируя ноль, в Excel?

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

Среднее значение диапазона данных, игнорируя нули, с помощью формулы

Среднее/суммирование/подсчет диапазона данных без нулей с помощью Kutools for Excel

Усреднить диапазон данных без нулей с помощью формулы

Если вы используете Excel 2007/2010/2013, эта простая функция AVERAGEIF может помочь вам быстро и легко решить эту проблему.

1 . Введите эту формулу = AVERAGEIF (B2: B13, » 0″) в пустую ячейку помимо ваших данных, см. Снимок экрана:

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

2 . Затем нажмите клавишу Enter , и вы получите результат, исключающий нулевые значения. См. Снимок экрана:

Примечание: Эта формула не вступит в силу в Excel 2003, если у вас есть Excel 2003, вы должны объединить функцию Sum и Countif , примените следующие формула: = СУММ (B2: B13)/СЧЁТЕСЛИ (B2: B13, «> 0») .

Среднее/суммирование/подсчет диапазона данных без нулей с помощью Kutools for Excel

Если вы хотите суммировать/усреднить/подсчитать, игнорируя нулевые ячейки, вы можете применить Kutools for Excel Select Specific Cells , чтобы выбрать ненулевые ячейки, и затем просмотрите результат расчета в строке состояния .

После бесплатной установки Kutools for Excel, пожалуйста, сделайте следующее:

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

2. В появившемся диалоговом окне установите флажок Ячейка , а затем выберите Не равно из первого раскрывающегося списка в Определенный тип и перейдите в правое текстовое поле, чтобы ввести 0. См. снимок экрана:

3. Нажмите Ok , и все ячейки, которые больше 0, были выбраны, и вы можете просмотреть среднее значение, сумму, результат подсчета в строке состояния. См. Снимок экрана:

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

Данные среднего/подсчета/суммы игнорируют нули

Kutools for Excel: 300+ функций, которые вы должны иметь в Excel, 30-дневная бесплатная пробная версия отсюда.

Статья по теме:

Как вычислить среднее без максимальных и минимальных значений в Excel?

Лучшее Инструменты для повышения производительности Office

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование : быстро вставляйте сложные формулы, диаграммы и все, что y вы использовали раньше; Зашифровать ячейки паролем; Создавайте список рассылки и отправляйте электронные письма …
  • Панель супер формул (легко редактировать несколько строк текста и формул); Чтение макета (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон …
  • Объединить ячейки/строки/столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки/столбцы … Предотвратить дублирование ячеек; Сравнить диапазоны …
  • Выбрать повторяющиеся или уникальные строки; Выберите пустые строки (все ячейки пусты); Супер поиск и нечеткий поиск во многих книгах; Случайный выбор …
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставка маркеров, флажков и прочего …
  • Извлечь текст, добавить текст, удалить по положению, удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии …
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); Расширенная сортировка по месяцам/неделям/дням, частоте и другим параметрам; Специальный фильтр жирным шрифтом, курсивом …
  • Объединить рабочие книги и рабочие таблицы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF …

Группировка сводной таблицы по номеру недели, дню недели и другим параметрам … Показывать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки с формулой/именем … ->

Like this post? Please share to your friends:
  • Среднее значение в excel в разных столбцах
  • Среднее в word 2007
  • Среднее значение больше нуля в excel
  • Среднее в excel пустая ячейка
  • Среднее арифметическое формула excel на английском