Зміст
На сьогоднішній день, на жаль, це не так. COUNTIF в Excel використовується для підрахунку кількості клітинок в діапазоні, які задовольняють заданій умові. У цій статті ми покажемо, як використовувати функцію COUNTIF функцію в Excel за допомогою VBA макрос.
Завантажити Робочий зошит
Ви можете завантажити безкоштовну практичну книгу Excel тут.
Функція COUNTIF з VBA.xlsm
Функція COUNTIF в Excel
- Синтаксис
Функція аркушу Worksheet.CountIf( Arg1 Як Рендж, Arg2 ) Як подвійний
- Параметри
Параметр | Обов'язково/необов'язково | Тип даних | Опис |
---|---|---|---|
Arg1 | Необхідно | Діапазон | Діапазон клітинок від підрахунку клітинок. |
Arg2 | Необхідно | Варіант | Число, вираз, посилання на комірку або текст, який визначає, які комірки рахувати. Наприклад, вираз може бути 20, "20", ">20", "фрукт" або B2. |
- Тип повернення
Значення як Double
6 Приклади використання функції COUNTIF в Excel з VBA
У цьому розділі ви дізнаєтеся, як користуватися COUNTIF функція в Excel для підрахунку текстів, чисел тощо за допомогою VBA код.
1. функція робочого аркуша з COUNTIF в Excel VBA
Excel's Функція робочого аркуша може бути використана для виклику більшості інших функцій Excel, які доступні в межах Функція вставки діалогове вікно в Excel та COUNTIF є однією з таких функцій.
На наведеному вище прикладі ми навчимося використовувати Функція робочого аркуша з COUNTIF для підрахунку даних за допомогою VBA в Excel.
Сходинки:
- Преса Alt + F11 на клавіатурі або перейдіть на вкладку Розробник - Visual Basic відкрити Редактор Visual Basic .
- У вікні коду, що з'явилося, в рядку меню натисніть Вставка -> Модуль .
- Скопіюйте наступний код та вставте його у вікно коду.
Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub
Ваш код тепер готовий до запуску.
- Преса F5 на клавіатурі або в рядку меню виберіть Виконати -> Run Sub/UserForm Ви також можете просто натиснути на кнопку маленька іконка відтворення в рядку підменю для запуску макросу.
Ми хотіли з'ясувати, скільки у нашому наборі даних є чисел, менших за 3. Після запуску коду ми отримали результат 4, що є кількістю чисел, менших за 3 для нашого набору даних.
Читати далі: Як використовувати COUNTIF між двома числами (4 способи)
2. функція COUNTIF для підрахунку певного тексту в Excel
Якщо ви хочете підрахувати будь-який конкретний текст, наприклад, скільки міст, імен чи продуктів харчування тощо є на аркуші Excel, ви можете скористатися функцією COUNTIF функціонувати в VBA .
З наведеного вище прикладу ми дізнаємося, як використовувати COUNTIF порахувати, скільки разів зустрічається назва Джон зустрічається в нашому наборі даних з VBA макрос.
Сходинки:
- Як і раніше, відкрито Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
- У вікні коду скопіюйте наступний код та вставте його.
Sub CountifText() 'вхідні дані countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'вихідні дані 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() 'вхідні дані countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'вихідні дані 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 з критеріями "Більше" і "Менше
Схожі читання
- Функція COUNTIF Excel для підрахунку комірок, більших за 0
- Як використовувати функції ЕСЛИ і СЧЕТЕСЛИ разом в 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) і Колонка (С) синтаксис.
Читати далі: Як застосувати 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 Сподіваюся, ця стаття була для вас дуже корисною. Не соромтеся запитувати, якщо у вас виникнуть запитання щодо цієї теми.