Формулы Excel для подсчета ячеек с текстом: любых, определенных или отфильтрованных ячеек

  • Поделись Этим
Michael Brown

Как подсчитать ячейки с текстом в Excel? Существует несколько различных формул для подсчета ячеек, содержащих любой текст, определенные символы или только отфильтрованные ячейки. Все формулы работают в Excel 365, 2021, 2019, 2016, 2013 и 2010.

Изначально электронные таблицы Excel были созданы для работы с числами. Но в наши дни мы часто используем их для хранения и работы с текстом. Хотите узнать, сколько ячеек с текстом есть в вашем листе? В Microsoft Excel есть несколько функций для этого. Какую из них использовать? Ну, это зависит от ситуации. В этом учебнике вы найдете различные формулы и когда каждую формулу лучше использовать.используется.

    Как подсчитать количество ячеек с текстом в Excel

    Существует две основные формулы, позволяющие определить, сколько ячеек в заданном диапазоне содержат какую-либо текстовую строку или символ.

    Формула COUNTIF для подсчета всех ячеек с текстом

    Когда вы хотите найти количество ячеек с текстом в Excel, можно использовать функцию COUNTIF со звездочкой в строке критерии аргумент - лучшее и самое простое решение:

    КОУНТИФ( ассортимент , "*")

    Поскольку звездочка (*) является подстановочным знаком, который соответствует любой последовательности символов, формула подсчитывает все ячейки, содержащие любой текст.

    Формула SUMPRODUCT для подсчета ячеек с произвольным текстом

    Другой способ получить количество ячеек, содержащих текст, заключается в комбинировании функций SUMPRODUCT и ISTEXT:

    SUMPRODUCT(--ISTEXT( ассортимент ))

    Или

    SUMPRODUCT(ISTEXT( ассортимент )*1)

    Функция ISTEXT проверяет, содержит ли каждая ячейка в указанном диапазоне текстовые символы, и возвращает массив значений TRUE (ячейки с текстом) и FALSE (остальные ячейки). Двойная унарная (--) или операция умножения превращает TRUE и FALSE в 1 и 0 соответственно, создавая массив единиц и нулей. Функция SUMPRODUCT суммирует все элементы массива и возвращает число1's, то есть количество ячеек, содержащих текст.

    Чтобы лучше понять, как работают эти формулы, посмотрите, какие значения учитываются, а какие нет:

    Что учитывается Что не учитывается
    • Ячейки с любым текстом
    • Специальные символы
    • Числа, отформатированные как текст
    • Визуально пустые ячейки, содержащие пустую строку (""), апостроф ('), пробел или непечатные символы
    • Номера
    • Даты
    • Логические значения TRUE и FALSE
    • Ошибки
    • Пустые ячейки

    Например, для подсчета ячеек с текстом в диапазоне A2:A10, исключая числа, даты, логические значения, ошибки и пустые ячейки, используйте одну из этих формул:

    =COUNTIF(A2:A10, "*")

    =SUMPRODUCT(--ISTEXT(A2:A10))

    = СУММАРНЫЙ ПРОДУКТ(ISTEXT(A2:A10)*1)

    На скриншоте ниже показан результат:

    Подсчет ячеек с текстом, исключая пробелы и пустые строки

    Формулы, рассмотренные выше, подсчитывают все ячейки, в которых есть какие-либо текстовые символы. Однако в некоторых ситуациях это может сбить с толку, поскольку некоторые ячейки могут только выглядеть пустыми, но на самом деле содержат символы, невидимые для человеческого глаза, такие как пустые строки, апострофы, пробелы, переносы строк и т.д. В результате визуально пустая ячейка будет подсчитана формулой, что заставит пользователя вытащить свойволосы пытаются понять, почему :)

    Чтобы исключить из подсчета "ложноположительные" пустые ячейки, используйте функцию COUNTIFS с символом "исключено" во втором критерии.

    Например, чтобы подсчитать ячейки с текстом в диапазоне A2:A7, игнорируя те, которые содержат символ знак пробела , используйте эту формулу:

    =COUNTIFS(A2:A7, "*", A2:A7, " ")

    Если ваш целевой диапазон содержит какие-либо данные, управляемые формулами, некоторые из формул могут привести к ошибке пустая строка (""). Чтобы игнорировать ячейки с пустые строки тоже, замените "*" на "*?*" в критерии1 аргумент:

    =COUNTIFS(A2:A9, "*?*", A2:A9, " ")

    Вопросительный знак, окруженный звездочками, означает, что в ячейке должен быть хотя бы один текстовый символ. Поскольку в пустой строке нет символов, она не соответствует критериям и не учитывается. Пустые ячейки, начинающиеся с апострофа ('), также не учитываются.

    На скриншоте ниже в ячейке A7 имеется пробел, в A8 - апостроф, а в A9 - пустая строка (=""). Наша формула не учитывает все эти ячейки и возвращает число текстовых ячеек, равное 3:

    Как подсчитать ячейки с определенным текстом в Excel

    Чтобы получить количество ячеек, содержащих определенный текст или символ, просто введите этот текст в поле критерии аргумент функции COUNTIF. Приведенные ниже примеры объясняют нюансы.

    Чтобы соответствовать тексту примера именно , введите полный текст, заключенный в кавычки:

    КОУНТИФ( ассортимент , " текст ")

    Для подсчета клеток с частичный матч , поместите текст между двумя звездочками, которые представляют собой любое количество символов до и после текста:

    КОУНТИФ( ассортимент , "* текст *")

    Например, чтобы найти, сколько ячеек в диапазоне A2:A7 содержат именно слово "бананы", используйте эту формулу:

    =COUNTIF(A2:A7, "бананы")

    Чтобы подсчитать все ячейки, которые содержат слово "бананы" в любой позиции, используйте этот вариант:

    =COUNTIF(A2:A7, "*бананы*")

    Чтобы сделать формулу более удобной, можно поместить критерии в заранее определенную ячейку, например, D2, а ссылку на ячейку указать во втором аргументе:

    =COUNTIF(A2:A7, D2)

    В зависимости от ввода в D2, формула может полностью или частично соответствовать тексту образца:

    • Для полного совпадения введите все слово или фразу в том виде, в котором оно встречается в исходной таблице, например Бананы .
    • Для частичного совпадения введите текст образца, окруженный символами подстановки, например *Бананас* .

    Поскольку формула без учета регистра вы можете не обращать внимания на регистр букв, то есть *бананы* тоже подойдет.

    В качестве альтернативы, для подсчета клеток с частичное совпадение , объедините ссылку на ячейку и символы подстановки, например:

    =COUNTIF(A2:A7, "*"&D2&"*")

    Для получения дополнительной информации см. раздел Как подсчитать ячейки с определенным текстом в Excel.

    Как подсчитать отфильтрованные ячейки с текстом в Excel

    При использовании фильтра Excel для отображения только тех данных, которые актуальны в данный момент, иногда может потребоваться подсчитать видимые ячейки с текстом К сожалению, для этой задачи не существует решения в один клик, но приведенный ниже пример поможет вам с комфортом выполнить все шаги.

    Предположим, у вас есть таблица, как показано на рисунке ниже. Некоторые записи были извлечены из большой базы данных с помощью формул, и по пути возникли различные ошибки. Вы хотите найти общее количество элементов в столбце A. Когда все строки видны, формула COUNTIF, которую мы использовали для подсчета ячеек с текстом, работает отлично:

    =COUNTIF(A2:A10, "*")

    Теперь вы сужаете список по каким-то критериям, скажем, отфильтровываете товары с количеством больше 10. Вопрос в том, сколько товаров осталось?

    считать отфильтрованные ячейки с текстом Вот что вам нужно сделать:

    1. В исходной таблице сделайте все строки видимыми. Для этого очистите все фильтры и снимите скрытые строки.
    2. Добавьте вспомогательный столбец в формулу SUBTOTAL, который указывает, фильтруется строка или нет.

      Обращаться отфильтрованные ячейки , используйте 3 для function_num аргумент:

      = ПРОМЕЖУТОЧНЫЙ ИТОГ(3, A2)

      Определить все скрытые ячейки , отфильтрованы и скрыты вручную, помещены 103 в function_num :

      = ПРОМЕЖУТОЧНЫЙ ИТОГ(103, A2)

      В данном примере мы хотим подсчитать только видимые ячейки с текстом независимо от того, как были скрыты другие ячейки, поэтому мы вводим вторую формулу в A2 и копируем ее вниз в A10.

      Для видимых ячеек формула возвращает 1. Как только вы отфильтруете или вручную скроете некоторые строки, формула вернет для них 0. (Вы не увидите эти нули, потому что они возвращаются для скрытых строк. Чтобы убедиться, что это работает именно так, просто скопируйте содержимое скрытой ячейки с формулой Subtotal в любую видимую, скажем, =D2, предполагая, что строка 2 скрыта).

    3. Используйте функцию COUNTIFS с двумя различными диапазон_критериев / критерии пары для подсчета видимых ячеек с текстом:
      • Критерий1 - поиск ячеек с любым текстом ("*") в диапазоне A2:A10.
      • Criteria2 - поиск 1 в диапазоне D2:D10 для обнаружения видимых клеток.

      =COUNTIFS(A2:A10, "*", D2:D10, 1)

    Теперь вы можете фильтровать данные так, как вам нужно, а формула сообщит вам, сколько отфильтрованных ячеек в столбце A содержат текст (в нашем случае 3):

    Если вы предпочитаете не вставлять дополнительный столбец в рабочий лист, то для выполнения этой задачи вам понадобится более длинная формула. Просто выберите ту, которая вам больше нравится:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10))),,1)), -- (ISTEXT(A2:A10)))

    Оператор умножения также работает:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)-MIN(ROW(A2:A10)),,1)) * (ISTEXT(A2:A10)))

    Какую формулу использовать, зависит от ваших личных предпочтений - результат будет одинаковым в любом случае:

    Как работают эти формулы

    Первая формула использует функцию INDIRECT для "подачи" отдельных ссылок всех ячеек в указанном диапазоне в SUBTOTOTAL. Вторая формула использует комбинацию функций OFFSET, ROW и MIN для той же цели.

    Функция SUBTOTAL возвращает массив из 1 и 0, где единицы представляют видимые ячейки, а нули соответствуют скрытым ячейкам (как в столбце-помощнике выше).

    Функция ISTEXT проверяет каждую ячейку в A2:A10 и возвращает TRUE, если ячейка содержит текст, и FALSE в противном случае. Двойной унарный оператор (--) преобразует значения TRUE и FALSE в 1 и 0. На данном этапе формула выглядит следующим образом:

    =SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})

    Функция SUMPRODUCT сначала перемножает элементы обоих массивов в одинаковых позициях, а затем суммирует полученный массив.

    Поскольку умножение на ноль дает ноль, только клетки, представленные 1 в обоих массивах, имеют 1 в конечном массиве.

    =SUMPRODUCT({0;1;1;0;0;1;0;0;0})

    А количество единиц в приведенном выше массиве - это количество видимых ячеек, содержащих текст.

    Вот как подсчитывать ячейки с текстом в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Доступные загрузки

    Формулы Excel для подсчета ячеек с текстом

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.