Оглавление
Сайт 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 Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.