excel countif отфильтровано по стилю

excel countif отфильтровано по стилю

У меня есть таблица Excel, и я пытаюсь посчитать строки в столбце на основе стиля, примененного к некоторым ячейкам в столбце. Есть ли простой способ сделать это?

решение1

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

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

Шаг 1: Преобразуйте диапазон в список, а затем добавьте итоговую строку, показывающую COUNT

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

Шаг 2: Примените цветовой фильтр (должно работать в Excel 2007 и более поздних версиях):

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

Готово: итоговое значение COUNT покажет отфильтрованное количество строк.

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

решение2

Для этого можно использовать VBA:

Function CountStyle(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Neutral"
      If Item.Style = "Neutral" Then
         Total = Total + 1
      End If
   Next Item
   CountStyle = Total
End Function

Взято изздесь.

  1. Нажмите Alt+, F11чтобы запустить редактор Visual Basic.
  2. Вставить > Модуль
  3. Вставьте код выше
  4. Зайдите в Excel и выберите ячейку, в которой должен быть результат. Напишите, например,=CountStyle (B4:B23)

Теперь у вас есть подсчет всех ячеек со стилем Neutral. Я создал три функции для нейтрального, хорошего, плохого. Это выглядит так:

Function CountStyleGood(CellRange)
   Dim Item As Range, Total As Long
   For Each Item In CellRange
      ' Check to see if the cell is formatted as Style = "Good"
      If Item.Style = "Good" Then
         Total = Total + 1
      End If
   Next Item
   CountStyleGood = Total
End Function

В результате =CountStyleGood(B4:B23)вы получите результат. В качестве названия стиля я использовал название, отображаемое в ленте.

Связанный контент