KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как подсчитать в Excel ячейки, содержащие определённый текст и имеющие заданный цвет заливки или шрифта?

АвторSiluviaДата изменения

Подсчитать количество ячеек, соответствующих одному условию, например содержащих определённый текст или шрифт/Цвет заполнения, довольно просто. Однако знаете ли вы, как подсчитать ячейки по нескольким условиям? Например, подсчитать количество ячеек, содержащих одновременно определённый текст и шрифт/Цвет заполнения. В этой статье приведено решение.

Подсчёт ячеек с определённым текстом и Цвет заполнения с помощью кода 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 для Excel — выберите ячейку для размещения результата и нажмите кнопку ОК. См. скриншот:

код VBA для выбора ячейки для размещения результата

Результат подсчёта сразу появится в выбранной ячейке.

результат подсчета отображается в ячейке

скриншот kutools for excel ai

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

Подсчёт ячеек с определённым текстом и Цвет шрифта с помощью кода 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 для Excel, выберите ячейку для размещения результата и нажмите кнопку ОК. См. скриншот:

код VBA для выбора ячейки для размещения результата

Вы получите результат, как показано на скриншоте ниже:

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


См. также:

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек