Как подсчитать ячейки с определенным текстом и цветом заливки/шрифта в Excel?
Возможно, вам легко подсчитать количество ячеек, содержащих только одно условие, например, подсчитать все ячейки с определенным текстом или цветом шрифта/заливки. Однако знаете ли вы, как подсчитать ячейки с несколькими условиями? Например, подсчитать количество ячеек, содержащих как определенный текст, так и цвет шрифта/заливки. В этой статье мы покажем вам решение.
Подсчет ячеек с определенным текстом и цветом заливки с помощью кода VBA
Подсчет ячеек с определенным текстом и цветом шрифта с помощью кода VBA
Подсчет ячеек с определенным текстом и цветом заливки с помощью кода VBA
Предположим, у вас есть таблица, как показано на скриншоте ниже, для подсчета ячеек в столбце B на основе текста и цвета заливки ячейки E2, пожалуйста, примените следующий код VBA.
1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, затем скопируйте приведенный ниже код VBA в окно Модуля.
Код VBA: Подсчет ячеек с определенным текстом и цветом заливки
Sub CountFillColorValue()
'Update by Extendoffice 20180702
Dim I As Long
Dim xNum As Long
Dim Rows As Long
Dim xRgD As Range
Dim xRg, xRgS As Range
On Error Resume Next
Set xRg = Range("B2:B9")
Set xRgS = Range("E2")
Set xRgD = Application.InputBox("Please select a cell:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRgD Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xNum = 0
For I = 1 To xRows
If xRg.Offset(I - 1, 0).Interior.ColorIndex = xRgS.Interior.ColorIndex Then
If xRg.Offset(I - 1, 0).Value = xRgS.Value Then
xNum = xNum + 1
End If
End If
Next
xRgD = xNum
End Sub
Примечание: В коде B2:B9 — это диапазон, внутри которого вы будете подсчитывать ячейки, E2 содержит текст и цвет заливки, на основе которых вы будете подсчитывать ячейки. Вы можете изменить их по своему усмотрению.
3. Нажмите клавишу F5, чтобы запустить код, затем появится диалоговое окно Kutools for Excel, пожалуйста, выберите ячейку для размещения результата, а затем нажмите кнопку ОК. См. скриншот:
Затем результат подсчета сразу отобразится в выбранной ячейке.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Подсчет ячеек с определенным текстом и цветом шрифта с помощью кода VBA
Для подсчета ячеек в диапазоне B2:B9 на основе текста и цвета шрифта ячейки E2 выполните следующие действия.
1. Откройте окно Microsoft Visual Basic for Applications, нажав клавиши Alt + F11.
2. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, затем скопируйте приведенный ниже код VBA в окно Модуля.
Код VBA: Подсчет ячеек с определенным текстом и цветом шрифта
Sub CountFontColorValue()
'Update by Extendoffice 20180702
Dim I As Long
Dim xNum As Long
Dim xRows As Long
Dim xRgD As Range
Dim xRg, xRgS As Range
On Error Resume Next
Set xRg = Range("B2:B9")
Set xRgS = Range("E2")
Set xRgD = Application.InputBox("Please select a cell:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRgD Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xNum = 0
For I = 1 To xRows
If xRg.Offset(I - 1, 0).Font.ColorIndex = xRgS.Font.ColorIndex Then
If xRg.Offset(I - 1, 0).Value = xRgS.Value Then
xNum = xNum + 1
End If
End If
Next
xRgD = xNum
End Sub
Примечание: В коде B2:B9 — это диапазон, внутри которого вы будете подсчитывать ячейки, E2 — это критерии, на основе которых вы будете подсчитывать ячейки. Вы можете изменить их по мере необходимости.
3. Нажмите клавишу F5, чтобы запустить код, затем появится диалоговое окно Kutools for Excel, пожалуйста, выберите ячейку для размещения результата, а затем нажмите кнопку ОК. См. скриншот:
Вы получите результат, как показано на скриншоте ниже:
Связанные статьи:
- Как подсчитать количество ячеек между двумя значениями или датами в Excel?
- Как подсчитать ячейки с определенным текстом в выделенной области в Excel?
- Как подсчитать, если ячейка содержит текст или часть текста в Excel?
- Как подсчитать количество определенных/конкретных слов в ячейке или диапазоне ячеек в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!