Зміст
Урок показує, як підрахувати кількість клітинок з певним текстом в Excel. Ви знайдете приклади формул для точного збігу, часткового збігу та відфільтрованих клітинок.
Минулого тижня ми розглянули, як порахувати клітинки з текстом в Excel, тобто всі клітинки з будь-яким текстом. При аналізі великих масивів інформації вам також може знадобитися дізнатися, скільки клітинок містять конкретний текст. Цей урок пояснює, як це зробити простим способом.
Як порахувати комірки з певним текстом в Excel
В Microsoft Excel є спеціальна функція для умовного підрахунку комірок - функція COUNTIF. Все, що потрібно зробити, це вказати цільовий текстовий рядок в полі критерії аргумент.
Ось загальна формула Excel для підрахунку кількості клітинок, що містять певний текст:
Припустимо, у вас є список ідентифікаторів елементів у форматі А2:А10, і ви хочете порахувати кількість комірок з певним ідентифікатором, скажімо, "АА-01". Введіть цей рядок у другий аргумент, і ви отримаєте цю просту формулу:
=COUNTIF(A2:A10, "AA-01")
Щоб користувачі могли підраховувати клітинки з будь-яким текстом без необхідності змінювати формулу, введіть текст у заздалегідь визначену комірку, наприклад D1, і вкажіть посилання на комірку:
=COUNTIF(A2:A10, D1)
Примітка. Функція COUNTIF в Excel - це нечутливий до регістру тобто вона не розрізняє регістр букв. Щоб обробляти великі та малі літери по-різному, використовуйте цю формулу, що враховує регістр букв.
Як порахувати комірки з певним текстом (частковий збіг)
Формула, розглянута в попередньому прикладі, точно відповідає критеріям. Якщо в комірці є хоча б один інший символ, наприклад, зайвий пробіл в кінці, це не буде точним збігом, і така комірка не буде зарахована.
Щоб знайти кількість клітинок, які містять певний текст у складі свого вмісту, використовуйте в критеріях підстановочні символи, а саме зірочку (*), яка позначає будь-яку послідовність або символи. Залежно від поставленої мети, формула може мати один з наступних виглядів.
Підрахувати комірки, які містять певний текст за адресою на самому початку :
COUNTIF(range, " текст *")Підрахувати комірки, які містять певний текст в будь-яка посада :
COUNTIF(range, "* текст *")Наприклад, щоб знайти, скільки клітинок в діапазоні A2:A10 починаються на "AA", скористайтеся такою формулою:
=COUNTIF(A2:A10, "AA*")
Щоб отримати кількість клітин, що містять "АА" в будь-якій позиції, використовуйте цю:
=COUNTIF(A2:A10, "*AA*")
Щоб зробити формули більш динамічними, замініть жорстко закодовані рядки посиланнями на комірки.
Підрахувати клітинки, які починаються з певного тексту:
=COUNTIF(A2:A10, D1& "*")
Порахувати комірки з певним текстом в будь-якому місці:
=COUNTIF(A2:A10, "*"&D1&"*")
Скріншот нижче демонструє результати:
Підрахунок комірок, що містять певний текст (з урахуванням регістру)
У ситуації, коли потрібно розрізнити великі і малі літери, функція COUNTIF не спрацює. Залежно від того, шукаєте ви точний або частковий збіг, вам доведеться побудувати іншу формулу.
Формула для підрахунку комірок з певним текстом з урахуванням регістру (точний збіг)
Для підрахунку кількості комірок з певним текстом з розпізнаванням регістру тексту використаємо комбінацію функцій СУММЕСЛИ і ТОЧНО:
SUMPRODUCT(--EXACT(" текст ", діапазон ))Як працює ця формула:
- EXACT порівнює кожну комірку в діапазоні зі зразком тексту і повертає масив значень TRUE і FALSE, де TRUE представляє точні збіги, а FALSE - всі інші комірки. Подвійний дефіс (званий дефісом подвійний унарний ) примушує Істину і Брехню перетворювати на 1 і 0.
- SUMPRODUCT підсумовує всі елементи масиву. Ця сума є кількістю одиниць, тобто кількістю збігів.
Наприклад, щоб отримати кількість комірок A2:A10, які містять текст у комірці D1 і обробляють великі та малі літери як різні символи, використовуйте цю формулу:
=SUMPRODUCT(--EXACT(D1, A2:A10))
Формула для підрахунку комірок з певним текстом з урахуванням регістру (частковий збіг)
Для побудови формули, чутливої до регістру, яка може знайти потрібний текстовий рядок у будь-якій комірці, ми використовуємо 3 різні функції:
SUMPRODUCT(--(ISUMBER(FIND(" текст ", діапазон ))))Як працює ця формула:
- Функція ЗНАЙТИ з урахуванням регістру шукає шуканий текст в кожній комірці діапазону. Якщо це вдається, функція повертає позицію першого символу, інакше помилка #ЗНАЧ!. Для наочності, нам не потрібно знати точну позицію, будь-яке число (на відміну від помилки) означає, що комірка містить шуканий текст.
- Функція ISNUMBER обробляє масив чисел і помилок, що повертаються функцією FIND, і перетворює числа в значення TRUE, а все інше - в значення FALSE. Подвійний унарний знак (--) перетворює логічні значення в одиниці і нулі.
- SUMPRODUCT підсумовує масив 1 та 0 і повертає кількість комірок, які містять у своєму вмісті вказаний текст.
Щоб перевірити формулу на реальних даних, знайдемо, скільки комірок в діапазоні A2:A10 містить підрядок, введений в D1:
=SUMPRODUCT(--(ISUMBER(FIND(D1, A2:A10))))
І це повертає кількість 3 (клітинки А2, А3 і А6):
Як порахувати відфільтровані комірки з певним текстом
Порахувати видимі предмети у відфільтрованому списку потрібно використовувати комбінацію з 4 або більше функцій, залежно від того, чи потрібен вам точний або частковий збіг. Щоб зробити приклади більш зрозумілими, давайте спочатку подивимося на вихідні дані.
Припустимо, у вас є таблиця з Ідентифікатори замовлень у колонці B та Кількість в колонці С, як показано на зображенні нижче. На даний момент Вас цікавлять тільки кількості, більші за 1, і Ви відфільтрували таблицю відповідним чином. Питання - як порахувати відфільтровані комірки з певним ідентифікатором?
Формула для підрахунку відфільтрованих комірок з певним текстом (точний збіг)
Для підрахунку відфільтрованих комірок, вміст яких повністю збігається зі зразком текстового рядка, використовуйте одну з наступних формул:
=СУММЕСЛИ(СУММЕСЛИ(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1))
=СУМАРНИЙПРОДУКТ(ПІДСУМОК(103, ЗСУВ(A2:A10, РЯДОК(A2:A10) - MIN(РЯДОК(A2:A10)),,1)), --(B2:B10=F1))
Де F1 - зразок тексту, а B2:B10 - клітинки для підрахунку.
Як працюють ці формули:
В основі обох формул ви виконуєте 2 перевірки:
- Визначити видимі і приховані рядки. Для цього використовується функція SUBTOTAL з кнопкою функція_номер Щоб передати всі посилання на окремі комірки в SUBTOTAL, використовуйте або INDIRECT (у першій формулі), або комбінацію OFFSET, ROW і MIN (у другій формулі). Оскільки ми прагнемо знайти видимі і приховані рядки, не має значення, на який стовпець посилатися (A в нашому прикладі). Результатом цієї операції є масив одиниць і нулів, де одиниці представляють видимі і приховані рядки.рядки та нулі - приховані рядки.
- Знайти комірки, що містять заданий текст. Для цього порівняти текст зразка (F1) з діапазоном комірок (B2:B10). Результатом цієї операції є масив значень TRUE і FALSE, які за допомогою оператора подвійного унарного зв'язування примушуються до 1 і 0.
Нарешті, функція СУММЕСЛИ перемножує елементи двох масивів в однакових позиціях, а потім підсумовує отриманий масив. Оскільки множення на нуль дає нуль, тільки ті клітинки, які мають 1 в обох масивах, мають 1 в підсумковому масиві. Сума одиниць - це кількість відфільтрованих клітинок, які містять заданий текст.
Формула для підрахунку відфільтрованих комірок з певним текстом (частковий збіг)
Щоб зарахувати відфільтровані клітинки, що містять певний текст, до вмісту клітинки, змініть наведені вище формули наступним чином. Замість порівняння тексту зразка з діапазоном клітинок, виконайте пошук потрібного тексту за допомогою функцій НОМЕР і ЗНАЙТИ, як це було описано в одному з попередніх прикладів:
=СУММЕСЛИ(СУММЕСЛИ(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISUMBER(FIND(F1, B2:B10))))
В результаті формули будуть знаходити заданий текстовий рядок в будь-якій позиції комірки:
Примітка: функція SUBTOTAL з 103 в параметрі функція_номер виявляє всі приховані комірки, відфільтровані і приховані вручну. В результаті, наведені вище формули враховують тільки видимі клітини Незалежно від того, як були приховані невидимі комірки. Щоб виключити тільки відфільтровані комірки, але включити ті, що були приховані вручну, використовуйте 3 для функція_номер .
Ось так можна порахувати кількість клітинок з певним текстом в Excel. Дякую за прочитання і сподіваюся побачити Вас на нашому блозі наступного тижня!
Доступні для завантаження
Формули Excel для підрахунку комірок з певним текстом