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

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

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

В нашем предыдущем уроке была представлена функция Excel LEN, которая позволяет подсчитать общее количество символов в ячейке.

Формула LEN полезна сама по себе, но в связке с другими функциями, такими как SUM, SUMPRODUCT и SUBSTITUTE, она может решать гораздо более сложные задачи. Далее в этом учебнике мы рассмотрим несколько основных и расширенных формул для подсчета символов в Excel.

    Как подсчитать все символы в диапазоне

    Когда нужно подсчитать общее количество символов в нескольких ячейках, сразу же приходит на ум решение - получить количество символов для каждой ячейки, а затем сложить эти числа:

    =LEN(A2)+LEN(A3)+LEN(A4)

    Или

    =SUM(LEN(A2),LEN(A3),LEN(A4))

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

    Вот общая формула Excel для подсчета символов в диапазоне:

    = СУММАРНЫЙ ПРОДУКТ(LEN( ассортимент ))

    И ваша формула в реальной жизни может выглядеть примерно так:

    = СУММАРНЫЙ ПРОДУКТ(LEN(A1:A7))

    Другим способом подсчета символов в диапазоне является использование функции LEN в сочетании с SUM:

    =SUM(LEN(A1:A7))

    В отличие от SUMPRODUCT, функция SUM по умолчанию не вычисляет массивы, и вам нужно нажать Ctrl + Shift + Enter, чтобы превратить ее в формулу массива.

    Как показано на следующем снимке экрана, формула SUM возвращает одно и то же общее количество символов:

    Как работает эта формула подсчета символов диапазона

    Это одна из самых простых формул для подсчета символов в Excel. Функция LEN вычисляет длину строки для каждой ячейки в указанном диапазоне и возвращает их в виде массива чисел. Затем SUMPRODUCT или SUM суммирует эти числа и возвращает общее количество символов.

    В приведенном выше примере суммируется массив из 7 чисел, которые представляют собой длины строк в ячейках с A1 по A7:

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

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

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

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

    =LEN( ячейка )-LEN(SUBSTITUTE( ячейка , персонаж ,""))

    Чтобы лучше понять формулу, рассмотрим следующий пример.

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

    Если предположить, что список поставленных товаров находится в столбце B (начиная с B2), и мы подсчитываем количество вхождений "A", то формула выглядит следующим образом:

    =LEN(B2)-LEN(SUBSTITUTE(B2, "A",""))

    Как работает эта формула подсчета символов в Excel

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

    • Сначала подсчитывается общая длина строки в B2:

    LEN(B2)

  • Затем с помощью функции SUBSTITUTE удалите все вхождения буквы " A " в B2, заменив его пустой строкой (""):
  • SUBSTITUTE(B2, "A","")

  • А затем, вы считаете длину строки без " A " характер:
  • LEN(SUBSTITUTE(B2, "A",""))

  • Наконец, вы вычитаете длину строки без " A " из строки общей длины.
  • В результате вы получите количество "удаленных" символов, которое равно общему числу вхождений этого символа в ячейку.

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

    Примечание. Функция SUBSTITUTE в Excel чувствительна к регистру, поэтому и вышеприведенная формула чувствительна к регистру. Например, на скриншоте выше ячейка B3 содержит 3 вхождения символа "A" - два в верхнем регистре и одно в нижнем. Формула учитывает только символы верхнего регистра, потому что мы ввели "A" в функцию SUBSTITUTE.

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

    Если вам нужен подсчет символов без учета регистра, встройте функцию UPPER в SUBSTITUTE, чтобы преобразовать указанный символ в верхний регистр перед выполнением подстановки. И обязательно введите в формулу символ верхнего регистра.

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

    =LEN(B2)-LEN(SUBSTITUTE(UPPER(B2), "A",""))

    Другой способ - использовать вложенные функции Substitute:

    =LEN(B2)-LEN(SUBSTITUTE(SUBSTITUTE (B2, "A",""), "a","")

    Как видно из приведенного ниже снимка экрана, обе формулы безупречно подсчитывают вхождения указанного символа в верхнем и нижнем регистре:

    В некоторых случаях вам может понадобиться подсчитать множество различных символов в таблице, но вы не хотите каждый раз изменять формулу. В этом случае вложите одну функцию Substitute в другую, введите символ, который вы хотите подсчитать, в некоторую ячейку (D1 в данном примере) и преобразуйте значение этой ячейки в верхний и нижний регистр с помощью функций UPPER и LOWER:

    =LEN(B2)-LEN(SUBSTITUTE(SUBSTITUTE(B2, UPPER($D$1), ""), LOWER($D$1),"")))

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

    =LEN(B2)-LEN(SUBSTITUTE(UPPER(B2), UPPER($C$1),"")))

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

    Подсчет вхождений определенного текста или подстроки в ячейке

    Если вы хотите посчитать, сколько раз определенная комбинация символов (т.е. определенный текст, или подстрока) появляется в данной ячейке, например, "A2" или "SS", то разделите количество символов, возвращаемых вышеприведенными формулами, на длину подстроки.

    С учетом регистра формула:

    =(LEN(B2)-LEN(SUBSTITUTE(B2, $C$1,"")))/LEN($C$1)

    Без учета регистра формула:

    =(LEN(B2)-LEN(SUBSTITUTE(LOWER(B2),LOWER($C$1),""))))/LEN($C$1)

    Где B2 - ячейка, содержащая всю текстовую строку, а C1 - текст (подстрока), который вы хотите подсчитать.

    Подробное объяснение формулы см. в разделе Как подсчитать определенный текст / слова в ячейке.

    Как подсчитать определенный символ(ы) в диапазоне

    Теперь, когда вы знаете формулу Excel для подсчета символов в ячейке, вы можете усовершенствовать ее, чтобы узнать, сколько раз определенный символ встречается в диапазоне. Для этого мы возьмем формулу Excel LEN для подсчета символов в ячейке, рассмотренную в предыдущем примере, и поместим ее внутрь функции SUMPRODUCT, которая может работать с массивами:

    SUMPRODUCT(LEN( ассортимент )-LEN(SUBSTITUTE( ассортимент , персонаж ,"")))

    В данном примере формула имеет следующий вид:

    =SUMPRODUCT(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, "A","")))

    А вот еще одна формула для подсчета символов в диапазоне Excel:

    =SUM(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, "A",""")))

    По сравнению с первой формулой, наиболее очевидным отличием является использование SUM вместо SUMPRODUCT. Другое отличие заключается в том, что для этого нужно нажать Ctrl + Shift + Enter, потому что в отличие от SUMPRODUCT, которая предназначена для обработки массивов, SUM может обрабатывать массивы только при использовании в формула массива .

    Если вы не хотите вводить символ в формулу, вы, конечно, можете ввести его в какую-нибудь ячейку, например D1, и сослаться на эту ячейку в формуле подсчета символов:

    =SUMPRODUCT(LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, D1,"")))

    Примечание. В ситуациях, когда вы подсчитываете количество повторений определенного подстрока в диапазоне (например, заказы, начинающиеся с "KK" или "AA"), необходимо разделить количество символов на длину подстроки, иначе каждый символ в подстроке будет считаться отдельно. Например:

    =SUM((LEN(B2:B8)-LEN(SUBSTITUTE(B2:B8, D1, ""))) / LEN(D1))

    Как работает эта формула подсчета символов

    Как вы помните, функция SUBSTITUTE используется для замены всех вхождений указанного символа ("A" в данном примере) на пустую текстовую строку ("").

    Затем мы передаем текстовую строку, возвращенную функцией SUBSTITUTE, в функцию Excel LEN, чтобы она вычислила длину строки без A. Затем мы вычитаем это количество символов из общей длины текстовой строки. Результатом этих вычислений является массив количества символов, по одному символу на ячейку.

    Наконец, SUMPRODUCT суммирует числа в массиве и возвращает общее количество указанных символов в диапазоне.

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

    Вы уже знаете, что SUBSTITUTE - это функция, чувствительная к регистру, поэтому наша формула Excel для подсчета количества символов также чувствительна к регистру.

    Чтобы заставить формулу игнорировать регистр, следуйте подходам, продемонстрированным в предыдущем примере: Формула, не чувствительная к регистру, для подсчета определенных символов в ячейке.

    В частности, вы можете использовать одну из следующих формул для подсчета определенных символов в диапазоне, игнорируя регистр:

    • Используйте функцию UPPER и введите символ в верхнем регистре:

      =SUMPRODUCT(LEN(B2:B8) - LEN(SUBSTITUTE(UPPER(B2:B8), "A",""))))

    • Используйте вложенные функции SUBSTITUTE:

      =SUMPRODUCT(LEN(B2:B8) - LEN(SUBSTITUTE(SUBSTITUTE((B2:B8), "A",""), "a",""))))

    • Используйте функции UPPER и LOWER, введите в некоторую ячейку символ в верхнем или нижнем регистре и ссылайтесь на эту ячейку в своей формуле:

      =SUMPRODUCT(LEN(B2:B8) - LEN(SUBSTITUTE(SUBSTITUTE((B2:B8), UPPER($E$1), ""), LOWER($E$1),"")))))

    Приведенный ниже скриншот демонстрирует последнюю формулу в действии:

    Совет. Чтобы подсчитать количество повторений конкретный текст (подстрока) в диапазоне, используйте формулу, продемонстрированную в разделе Как подсчитать определенный текст / слова в диапазоне.

    Вот как можно подсчитывать символы в Excel с помощью функции LEN. Если вы хотите узнать, как подсчитывать слова, а не отдельные символы, вы найдете несколько полезных формул в нашей следующей статье, пожалуйста, следите за новостями!

    А пока вы можете скачать образец рабочей тетради с формулой подсчета символов, рассмотренной в этом уроке, и ознакомиться со списком сопутствующих ресурсов в конце страницы. Я благодарю вас за чтение и надеюсь на скорую встречу!

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