У меня есть таблица 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
Взято изздесь.
- Нажмите Alt+, F11чтобы запустить редактор Visual Basic.
- Вставить > Модуль
- Вставьте код выше
- Зайдите в 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)
вы получите результат. В качестве названия стиля я использовал название, отображаемое в ленте.