Функция VBA COUNTIF в Excel (6 примеров)

  • Поделись Этим
Hugh West

Сайт COUNTIF функция в Excel используется для подсчета количества ячеек в диапазоне, которые удовлетворяют заданному условию. В этой статье мы покажем вам, как использовать функцию COUNTIF функция в Excel с VBA макрос.

Скачать рабочую тетрадь

Вы можете скачать бесплатную практическую рабочую тетрадь Excel отсюда.

Функция COUNTIF с помощью VBA.xlsm

Функция COUNTIF в Excel

  • Синтаксис

WorksheetFunction.CountIf( Arg1 Как диапазон, Arg2 ) As Double

  • Параметры
Параметр Обязательный/ Факультативный Тип данных Описание
Arg1 Требуется Диапазон

Диапазон ячеек из подсчета ячеек.

Arg2 Требуется Вариант Число, выражение, ссылка на ячейку или текст, определяющий, какие ячейки считать. Например, выражение может быть 20, "20", ">20", "фрукты" или B2.
  • Тип возврата

Значение как Double

6 Примеров использования функции COUNTIF в Excel с помощью VBA

В этом разделе вы узнаете, как использовать функцию COUNTIF функция в Excel для подсчета текстов, чисел и т.д. с VBA код.

1. функция WorksheetFunction с COUNTIF в Excel VBA

Excel's WorksheetFunction можно использовать для вызова большинства других функций Excel, доступных в пределах функция вставки диалоговое окно в Excel и COUNTIF функция является одной из таких функций.

На приведенном выше примере мы узнаем, как использовать функцию WorksheetFunction с COUNTIF для подсчета данных с VBA в Excel.

Шаги:

  • Нажмите Alt + F11 на клавиатуре или перейдите на вкладку Разработчик -> Visual Basic открыть Редактор Visual Basic .

  • Во всплывающем окне кода в строке меню нажмите Вставка -> Модуль .

  • Скопируйте следующий код и вставьте его в окно кода.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Теперь ваш код готов к выполнению.

  • Нажмите F5 на клавиатуре или в строке меню выберите Run -> Run Sub/UserForm Вы также можете просто нажать на маленький значок Play в строке подменю, чтобы запустить макрос.

Мы хотели узнать, сколько в нашем наборе данных чисел меньше 3. Выполнив код, мы получили результат 4 - количество чисел, которые меньше 3 в нашем наборе данных.

Читать далее: Как использовать COUNTIF между двумя числами (4 метода)

2. Функция COUNTIF для подсчета определенного текста в Excel

Если вы хотите подсчитать какой-либо определенный текст, например, сколько городов, имен, продуктов и т.д. находится в листе Excel, то вы можете воспользоваться функцией COUNTIF функция в VBA .

Из приведенного выше примера мы узнаем, как использовать функцию COUNTIF чтобы подсчитать, сколько раз имя Джон встречается в нашем наборе данных с VBA макрос.

Шаги:

  • Так же, как и раньше, откройте Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте макрос, и вы получите общее количество.

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

 Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub 

Читать далее: Подсчет текста с начала с помощью функций COUNTIF & LEFT в Excel

3. Функция COUNTIF для вычисления числа с помощью VBA

Вы можете использовать COUNTIF функцию для извлечения определенных результатов.

Из приведенного выше примера мы узнаем, как использовать функцию COUNTIF подсчитать, сколько в нашем наборе данных чисел, которые являются больше 1,1 с VBA макрос.

Шаги:

  • Так же, как и раньше, откройте Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте макрос, и вы получите общее количество.

Как уже говорилось ранее, если вы не хотите записывать число непосредственно в коде, вы можете сначала сохранить его в переменной, а затем передать переменную внутри кода. Как в приведенном ниже коде,

 Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub 

Читать далее: Excel COUNTIF с критериями "больше чем" и "меньше чем

Похожие чтения

  • Функция Excel COUNTIF для подсчета ячеек больше 0
  • Как использовать функции IF и COUNTIF вместе в Excel
  • Excel COUNTIF для подсчета ячейки, содержащей текст из другой ячейки
  • Как использовать функцию COUNTIF для вычисления процента в Excel

4. Функция COUNTIF с диапазоном объектов в Excel

Вы можете назначить группу ячеек на Объект диапазона и затем использовать это Объект диапазона для подсчета значений в Excel.

Шаги:

  • Открыть Редактор Visual Basic из Разработчик вкладка и Вставка a Модуль в окне кода.
  • В окне кода скопируйте следующий код и вставьте его.
 Sub ExCountIFRange() Dim iRng As Range 'присваиваем диапазон ячеек Set iRng = Range("B5:B10") 'используем диапазон в формуле Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'освобождаем объект диапазона Set iRng = Nothing End Sub 

Теперь ваш код готов к выполнению.

  • Запускайте код, и вы получите общий подсчет с суммарным значением.

Читать далее: Как использовать COUNTIF для несмежного диапазона в Excel

5. Метод формулы COUNTIF в Excel

Вы также можете использовать Формула и/или ФормулаR1C1 метод для применения COUNTIF в ячейку в VBA Эти методы являются более гибкими при выполнении таких операций.

5.1. Метод формул

Формула метод позволяет указать диапазон ячеек в виде B5:B10 показано ниже в примере.

Шаги:

  • В окне кода Редактор Visual Basic , скопируйте следующий код и вставьте его.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Теперь ваш код готов к выполнению.

Этот фрагмент кода даст вам общее количество данных, которые вам нужны.

5.2. Метод формулыR1C1

ФормулаR1C1 метод является более гибким, так как не ограничивается заданным диапазоном ячеек.

Используя тот же набор данных, мы теперь узнаем, как использовать ФормулаR1C1 для подсчета значений в VBA .

Шаги:

  • В окне кода Редактор Visual Basic , скопируйте следующий код и вставьте его.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Теперь ваш код готов к выполнению.

Этот код также даст вам общий подсчет необходимых данных.

Если вы не хотите задавать диапазон вывода, вы можете сделать этот код еще более гибким, написав его следующим образом,

 Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Формула подсчитает ячейки, удовлетворяющие условию, и поместит ответ в ячейку ActiveCell в вашем рабочем листе. Диапазон внутри COUNTIF на функцию следует ссылаться с помощью Ряд (R) и Колонка (C) синтаксис.

Читать далее: Как применить COUNTIF между двумя значениями ячеек в Excel

6. Присвоение результата функции COUNTIF переменной

Если вы хотите использовать результат вашей формулы в другом месте, а не в наборе данных Excel, вы можете присвоить результат переменной и использовать его позже в вашем коде.

Сайт VBA код для этого,

 Sub AssignCountIfVariable() Dim iResult As Double 'Назначение переменной iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Показать результат MsgBox "Количество ячеек со значением меньше 3 равно " & iResult End Sub 

Результат будет показан в окне сообщений Excel.

Читать далее: COUNTIF Excel Пример (22 примера)

Заключение

В этой статье вы узнали, как использовать COUNTIF функция в Excel с VBA Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.