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

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

Функция ДЛСТР (LEN в английской версии) полезна сама по себе, а в связи с другими функциями, такими как СУММ, СУММПРОИЗВ и ПОДСТАВИТЬ, она может решать и более сложные задачи. Далее в этом руководстве мы более подробно рассмотрим несколько основных и более сложных выражений для подсчета количества знаков в Excel.

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

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

=ДЛСТР(A2)+ДЛСТР(A3)+ДЛСТР(A4)

или

=СУММ(ДЛСТР(A2);ДЛСТР(A3);ДЛСТР(A4))

Описанное выше может хорошо работать для небольшого диапазона. Но вряд ли вы захотите таким образом складывать даже 20 чисел. Чтобы определить количество символов Excel в большем диапазоне, нам лучше придумать что-нибудь более компактное. Например, функцию СУММПРОИЗВ, которая перемножает массивы и возвращает сумму произведений.

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

=СУММПРОИЗВ(ДЛСТР( диапазон ))

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

= СУММПРОИЗВ(ДЛСТР(A1:A4))

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

Другой способ подсчета знаков в диапазоне - использовать функцию ДЛСТР в сочетании с функцией СУММ:

{=СУММ(ДЛСТР(A1:A4))}

В отличие от СУММПРОИЗВ, функция СУММ по умолчанию не вычисляет массивы. Поэтому вам нужно не забыть нажать Ctrl + Shift + Enter, чтобы превратить ее в формулу массива.

Как показано на следующем скриншоте, СУММ возвращает такой же результат:

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

Это один из самых простых вариантов для подсчета знаков в Excel. Перво-наперво функция ДЛСТР вычисляет длину текста для каждого адреса в указанной области и возвращает их в виде массива чисел. Затем СУММПРОИЗВ или СУММ складывают эти числа и возвращают общий итог.

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

=СУММПРОИЗВ({23;13;23;17})

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

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

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

Чтобы подсчитать, сколько раз данный символ появляется в выбранной ячейке, используйте ДЛСТР вместе с функцией ПОДСТАВИТЬ:

=ДЛСТР( ячейка ) - ДЛСТР(ПОДСТАВИТЬ( ячейка ; символ ; ""))

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

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

Предполагая, что список доставленных товаров находится в столбце B (начиная с B2), и мы считаем число вхождений «A». Выражение выглядит следующим образом:

=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2,"A",""))

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

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

  • Сначала вы подсчитываете общую длину строки в B2:
    ДЛСТР(B2)
  • Затем вы используете функцию ПОДСТАВИТЬ, чтобы удалить все вхождения буквы «А» в B2, заменив ее пустой строкой («»):
    ПОДСТАВИТЬ(B2;"А";"")
  • Затем вы подсчитываете длину получившейся строки без буквы «А»:
    ДЛСТР(ПОДСТАВИТЬ(B2;"А";""))
  • Наконец, вы вычитаете длину строки без буквы «А» из первоначальной длины.

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

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

Примечание. Функция ПОДСТАВИТЬ в Excel чувствительна к регистру, поэтому в приведенном выше выражении также учитывается регистр. Например, B7 содержит 2 вхождения буквы «A» - одно в верхнем регистре и второе в нижнем регистре. Учитываем только символы верхнего регистра, потому что мы передали "A" функции ПОДСТАВИТЬ.

Подсчет определенных букв в ячейке без учета регистра

Если вам нужен счетчик букв без учета регистра, вставьте функцию ПРОПИСН в ПОДСТАВИТЬ, чтобы преобразовать указанную букву в верхний регистр перед выполнением подстановки. И обязательно используйте для поиска заглавные буквы.

Например, чтобы подсчитать буквы «A» и «a» в B2, используйте следующее:

=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(B2);$C$1;""))

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

=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;ПРОПИСН($C$1);"");СТРОЧН($C$1);""))

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

Подсчет определенных букв в ячейке без учета регистра

Другой способ — преобразовать всё в верхний или нижний регистр. Например:

=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(B2);ПРОПИСН($C$1);""))

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

Как посчитать сколько раз появляется слово или фраза в ячейке?

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

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

=(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2;$C$1;"")))/ДЛСТР($C$1)

Без учета регистра:

=(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;ПРОПИСН($C$1);"");СТРОЧН($C$1);"")) )/ДЛСТР($C$1)

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

Как посчитать сколько раз появляется слово или фраза в ячейке

Как эта формула подсчитывает количество вхождений определенного текста в ячейку?

  1. Функция ПОДСТАВИТЬ удаляет указанное слово из исходного текста.
    В этом примере мы удаляем слово, введенное в ячейку С1, из исходного текста, расположенного в B2:
    ПОДСТАВИТЬ(B2; $C$1;"")
  2. Затем функция ДЛСТР вычисляет длину текстовой строки без указанного слова.
    В этом примере ДЛСТР(ПОДСТАВИТЬ(B2; $C$1;"")) возвращает длину текста в B2 после удаления всех букв и цифр, содержащихся во всех вхождениях «А2».
  3. После этого указанное выше число вычитается из общей длины исходной текстовой строки:
    ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $C$1;""))

Результатом этой операции является количество символов, содержащихся во всех вхождениях целевого слова, которое в этом примере равно 4 (2 вхождения «A2», по 2 в каждом).

Наконец, указанное выше число делится на длину искомого текста. Другими словами, вы делите количество символов, содержащихся во всех вхождениях целевого слова, на число знаков, содержащихся в этом слове. В этом примере 4 делится на 2, и в результате мы получаем 2.

Сколько раз встречается символ в диапазоне?

Теперь, когда вы знаете формулу Excel для подсчета символов в одной определённой ячейке, вы можете улучшить ее, чтобы узнать, сколько раз определенный символ появляется в диапазоне. Для этого мы возьмем выражение, описанное в предыдущем примере, и поместим его в функцию СУММПРОИЗВ, которая умеет обрабатывать массивы:

СУММПРОИЗВ(ДЛСТР( диапазон ) -ДЛСТР(ПОДСТАВИТЬ( диапазон , символ , "")))

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

=СУММПРОИЗВ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;"")))

Сколько раз встречается символ или буква в диапазоне ячеек Excel

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

{=СУММ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;"")))}

По сравнению с описанным ранее наиболее очевидным отличием здесь является использование СУММ вместо СУММПРОИЗВ. Другое отличие в том, что в данном случае требуется нажатие Ctrl + Shift + Enter. Думаю, вы помните, что в отличие от СУММПРОИЗВ, которая умеет работать с массивами, СУММ может обрабатывать массивы только при использовании её в формуле массива.

Разберем, как это работает.

Как вы, возможно, помните, функция ПОДСТАВИТЬ используется для замены всех вхождений указанного символа («A» в этом примере) пустой текстовой строкой («»).

Затем мы передаем текстовую строку, возвращаемую функцией ПОДСТАВИТЬ, в функцию ДЛСТР, чтобы она вычисляла длину строки без «A». Затем мы вычитаем это количество знаков из общей длины текстовой строки. Результатом этих вычислений является массив количества символов. В нем столько чисел, сколько ячеек в диапазоне.

Наконец, СУММПРОИЗВ суммирует числа в массиве и возвращает общее количество указанного символа в диапазоне.

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

=СУММПРОИЗВ(ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;"")))/ДЛСТР($C$1)

Подсчет определенных букв в диапазоне без учета регистра.

Вы уже знаете, что ПОДСТАВИТЬ - функция, чувствительная к регистру. Поэтому наша формула для подсчета также чувствительна к регистру.

Чтобы игнорировать регистр, следуйте подходам, продемонстрированным в предыдущем примере.

Используйте функции ПРОПИСН и СТРОЧН, введите прописную либо заглавную букву и укажите ссылку на нее:

=СУММПРОИЗВ(ДЛСТР(B2:B7) - ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2:B7;ПРОПИСН($C$1);"");СТРОЧН($C$1);"")))

На скриншоте ниже показана последняя формула в действии:

Подсчет определенных букв в диапазоне без учета регистра

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

Чтобы подсчитать, сколько раз сочетание «А2» в точном виде встречается в наших данных, запишем выражение:

=СУММПРОИЗВ((ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(B2:B7;$C$1;"")))/ДЛСТР($C$1))

Если не нужно учитывать регистр букв, то тогда —

=СУММПРОИЗВ((ДЛСТР(B2:B7)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2:B7;ПРОПИСН($C$1);"");СТРОЧН($C$1);"")))/ДЛСТР($C$1))

То есть, мы берем формулы, использованные нами для отдельной ячейки, меняем в них ссылку на диапазон данных и обрабатываем затем при помощи СУММПРОИЗВ.

Вы можете использовать функцию СУММ, но в формуле массива, как мы также уже рассматривали ранее.

Вот как вы можете подсчитывать символы в Excel с помощью функции ДЛСТР. Если вы хотите знать, как считать слова, а не отдельные знаки, вы найдете несколько полезных формул здесь: Как быстро посчитать количество слов в Excel.