Excel Countif фильтруется по стилю

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

2 ответа

Решение

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

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

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

введите описание здесь

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

введите описание здесь

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

введите описание здесь

Вы можете использовать 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) вы получите результат. В качестве названия стиля я использовал имя, отображаемое на ленте.

Другие вопросы по тегам