Посчитать количество символов в ячейке Excel
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Посчитать количество символов в ячейке Excel можно функцией =ДЛСТР(A2): она возвращает длину текста вместе с пробелами и знаками препинания. Без пробелов — =ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")), количество определённого символа — =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")), сумму символов в диапазоне — =СУММПРОИЗВ(ДЛСТР(A2:A10)). А длину сразу всех выделенных ячеек выведет в соседний столбец процедура !SEMTools в пару кликов.

Когда нужен подсчёт символов в ячейках

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

  • количество символов в каждой ячейке не должно превышать определенное значение
  • нет ограничений по длине на одну ячейку, но есть лимит на суммарное количество символов в нескольких
  • когда есть ограничение по количеству символов снизу, иначе говоря, минимальная длина
  • есть ограничение по количеству введенных в ячейку определенных символов (например, не более одного знака "!")

Например, длина заголовков и описаний для сайта, объявлений в Директе, SMS или полей в 1С. Ниже — формулы для каждого случая.

Посчитать количество символов в ячейке формулой ДЛСТР

ДЛСТР (LEN) — основная функция для подсчёта символов. У неё один аргумент — ячейка или текст. Пробелы, знаки препинания и цифры она тоже считает:

Длина заголовков и проверка лимита
B3=ДЛСТР(A3)
ABCD
1ЗаголовокСимволовБез пробеловЛимит 20
2Купить чайник13=ДЛСТР(A2)12=ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))ок=ЕСЛИ(ДЛСТР(A2)>20;"длиннее";"ок")
3Электрический чайник Bosch26=ДЛСТР(A3)24=ДЛСТР(ПОДСТАВИТЬ(A3;" ";""))длиннее=ЕСЛИ(ДЛСТР(A3)>20;"длиннее";"ок")
4Чайник со свистком18=ДЛСТР(A4)16=ДЛСТР(ПОДСТАВИТЬ(A4;" ";""))ок=ЕСЛИ(ДЛСТР(A4)>20;"длиннее";"ок")
5Чайник6=ДЛСТР(A5)6=ДЛСТР(ПОДСТАВИТЬ(A5;" ";""))ок=ЕСЛИ(ДЛСТР(A5)>20;"длиннее";"ок")

В «Электрический чайник Bosch» 26 символов вместе с двумя пробелами, без пробелов — 24. Столбец D помечает строки длиннее 20 символов.

В английском Excel: =LEN(A3)

количество символов в ячейке - формула
Результат работы формулы

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

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

Например, вот формула для подсчёта количества букв "у" в ячейке A1.

=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"у";""))
Сколько раз встречается буква
C2=ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A2);"а";""))
ABC
1ТекстБукв «а»Без учёта регистра
2Анна Каренина3=ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"а";""))4=ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A2);"а";""))
3Мастер и Маргарита4=ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;"а";""))4=ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A3);"а";""))
4Ася0=ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;"а";""))1=ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A4);"а";""))

ПОДСТАВИТЬ различает регистр, поэтому в столбце B заглавная «А» не учитывается. СТРОЧН в столбце C переводит текст в нижний регистр до подсчёта.

В английском Excel: =LEN(A2)-LEN(SUBSTITUTE(LOWER(A2),"а",""))

Чтобы посчитать вхождения не символа, а слова или фрагмента, разницу длин делят на длину фрагмента: =(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"чай";"")))/ДЛСТР("чай").

Сколько раз встречается слово
B2=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"чай";"")))/ДЛСТР("чай")
AB
1ТекстСколько раз «чай»
2чай зелёный, чай чёрный2=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"чай";"")))/ДЛСТР("чай")
3чайник1=(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;"чай";"")))/ДЛСТР("чай")
4кофе0=(ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;"чай";"")))/ДЛСТР("чай")

Разница длин делится на длину слова. «чайник» тоже считается: формула ищет фрагмент, а не отдельное слово. ПОДСТАВИТЬ различает регистр.

В английском Excel: =(LEN(A2)-LEN(SUBSTITUTE(A2,"чай","")))/LEN("чай")

Пример - ДЛСТР для подсчета встречаемости буквы в ячейке
Подсчет встречаемости буквы "у" в ячейке

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

Количество цифр в ячейке

Подробное руководство в моей исчерпывающей статье "Посчитать цифры в ячейках и ячейки с цифрами". А я приведу лишь формулу массива оттуда:

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;{1;2;3;4;5;6;7;8;9;0};"")))
Количество цифр в ячейке
B2=СУММПРОИЗВ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{1;2;3;4;5;6;7;8;9;0};"")))
AB
1ТекстЦифр
2Тел. 8 (912) 345-67-8911=СУММПРОИЗВ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{1;2;3;4;5;6;7;8;9;0};"")))
3ул. Ленина, д. 51=СУММПРОИЗВ(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;{1;2;3;4;5;6;7;8;9;0};"")))
4Артикул A-10244=СУММПРОИЗВ(ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;{1;2;3;4;5;6;7;8;9;0};"")))

ПОДСТАВИТЬ по очереди удаляет каждую из 10 цифр, а СУММПРОИЗВ складывает 10 разниц длин. В номере телефона 11 цифр.

В английском Excel: =SUMPRODUCT(LEN(A2)-LEN(SUBSTITUTE(A2,{1,2,3,4,5,6,7,8,9,0},"")))

Есть и другой вариант - с помощью функции СЧЁТ:

=СЧЁТ(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)+1)
Количество цифр функцией СЧЁТ
B2=СЧЁТ(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1)+1)
AB
1ТекстЦифр
2Заказ 125 от 21.107=СЧЁТ(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1)+1)
3без цифр0=СЧЁТ(ПСТР(A3;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A3)));1)+1)

ПСТР разбивает текст на отдельные символы, +1 превращает цифры в числа, а остальные символы — в ошибки. СЧЁТ считает только числа. В Excel 2019 и раньше — Ctrl+Shift+Enter.

Количество английских букв в ячейке

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

=СУММПРОИЗВ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);{"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"};"")))

Можно не перечислять английские буквы явно, обратившись к соответствующему им диапазону ANSI через функции СИМВОЛ и СТРОКА. В Excel 2019 и раньше такую формулу вводят сочетанием Ctrl+Shift+Enter:

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));"")))
Количество английских букв
B2=СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));"")))
AB
1ТекстАнглийских букв
2iPhone 15 Pro Max12=СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));"")))
3Москва0=СУММ(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A3);СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));"")))

СИМВОЛ(СТРОКА(65:90)) — заглавные A–Z. Текст переводится в верхний регистр, чтобы считались и строчные буквы.

Количество русских букв в ячейке

Проблема с русскими буквами (также известными как кириллица) в том, что буква ё, как строчная, так и заглавная, находится за пределами сплошного диапазона в таблицах ANSI и UNICODE, поэтому нужно либо перечислять русские буквы явно:

=СУММПРОИЗВ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);{"А";"Б";"В";"Г";"Д";"Е";"Ё";"Ж";"З";"И";"Й";"К";"Л";"М";"Н";"О";"П";"Р";"С";"Т";"У";"Ф";"Х";"Ц";"Ч";"Ш";"Щ";"Ъ";"Ы";"Ь";"Э";"Ю";"Я"};"")))

либо подсчет этой буквы вести отдельно и суммировать с результатом для диапазона из 32 остальных букв (коды 192–223 в кодировке Windows-1251). Формула вводится сочетанием Ctrl + Shift + Enter

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);СИМВОЛ(СТРОКА(ДВССЫЛ("192:223")));"")))+ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);"Ё";""))

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

Поэтому рекомендуется либо явное перечисление букв, либо использование вместо СИМВОЛ функции ЮНИСИМВ, где для символов кириллицы "железно" застолбили диапазон 1040-1071:

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);ЮНИСИМВ(СТРОКА(ДВССЫЛ("1040:1071")));"")))+ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A1);"Ё";""))

Я все же за явное перечисление букв :)

Количество русских букв
B2=СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ЮНИСИМВ(СТРОКА(ДВССЫЛ("1040:1071")));"")))+ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);"Ё";""))
AB
1ТекстРусских букв
2Ёлка и ёж7=СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ЮНИСИМВ(СТРОКА(ДВССЫЛ("1040:1071")));"")))+ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);"Ё";""))
3Москва-2026 Moscow6=СУММ(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A3);ЮНИСИМВ(СТРОКА(ДВССЫЛ("1040:1071")));"")))+ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A3);"Ё";""))

Коды 1040–1071 — заглавные А–Я без Ё, поэтому Ё считается отдельным слагаемым. ЮНИСИМВ не зависит от языка Windows.

Количество любых букв в ячейке

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

=СУММ(НЕ(СОВПАД(ПРОПИСН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1));СТРОЧН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1))))+0)

Формула вводится сочетанием клавиш Ctrl + Shift + Enter и считает количество букв (способных менять регистр) в ячейке A1.

Количество любых букв
B2=СУММ(НЕ(СОВПАД(ПРОПИСН(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1));СТРОЧН(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1))))+0)
AB
1ТекстЛюбых букв
2Café №5 Ёж6=СУММ(НЕ(СОВПАД(ПРОПИСН(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1));СТРОЧН(ПСТР(A2;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A2)));1))))+0)
32+2=40=СУММ(НЕ(СОВПАД(ПРОПИСН(ПСТР(A3;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A3)));1));СТРОЧН(ПСТР(A3;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A3)));1))))+0)

Буква — символ, у которого прописной и строчный вариант различаются. Поэтому считаются и «é», и «Ё», а цифры и «№» — нет.

Посчитать символы в диапазоне — сумма по нескольким ячейкам

Если нет задачи считать длину содержимого каждой из ячеек, а нужна сразу сумма длин, можно использовать ту же функцию ДЛСТР, но в несколько ином виде — в виде формулы массива:

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

Текст формулы:

=СУММ(ДЛСТР(A2:A6))

В Excel 365 и 2021 формулу вводят как обычно. В Excel 2019 и раньше СУММ(ДЛСТР(…)) нужно вводить сочетанием Ctrl+Shift+Enter — или заменить СУММ на СУММПРОИЗВ, которая работает с массивами без специального ввода:

Символы в диапазоне
C2=СУММПРОИЗВ(ДЛСТР(A2:A4))
ABC
1ТекстИтого
2Купить чайникВсего символов57=СУММПРОИЗВ(ДЛСТР(A2:A4))
3Электрический чайник BoschДлиннее 201=СУММПРОИЗВ(--(ДЛСТР(A2:A4)>20))
4Чайник со свистком

C2 складывает длины всех трёх ячеек, C3 считает, сколько ячеек длиннее 20 символов.

В английском Excel: =SUMPRODUCT(LEN(A2:A4))

Посчитать символы во всех ячейках в 2 клика с !SEMTools

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

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

Посчитать символы в ячейках Excel
Подсчет количества символов в нескольких ячейках процедурой !SEMTools

Инструмент доступен в обеих версиях - Lite и Pro

Почему ДЛСТР считает не то, что видно в ячейке

  • Лишние пробелы. ДЛСТР считает пробелы в начале и в конце строки, которых не видно. Проверьте =ДЛСТР(СЖПРОБЕЛЫ(A2)) и при необходимости удалите лишние пробелы.
  • Числа и даты. Функция считает значение, а не отображение: у «12,50 ₽» значение 12,5 — 4 символа, у даты 20.10.2026 значение 46315 — 5 символов. Чтобы считать отображаемый текст, используйте =ДЛСТР(ТЕКСТ(A2;"ДД.ММ.ГГГГ")).
  • Переносы строк. Перенос внутри ячейки (Alt+Enter) — тоже символ. Без переносов: =ДЛСТР(ПОДСТАВИТЬ(A2;СИМВОЛ(10);"")).
  • Определённый символ не находится. ПОДСТАВИТЬ различает регистр: для подсчёта «А» и «а» вместе оберните ячейку в СТРОЧН.
Когда ДЛСТР считает не то, что видно
B3=ДЛСТР(A3)
ABCD
1ЯчейкаДЛСТРИсправленная формулаРезультат
2 Москва 8=ДЛСТР(A2)=ДЛСТР(СЖПРОБЕЛЫ(A2))6=ДЛСТР(СЖПРОБЕЛЫ(A2))
321.10.20265=ДЛСТР(A3)=ДЛСТР(ТЕКСТ(A3;"ДД.ММ.ГГГГ"))10=ДЛСТР(ТЕКСТ(A3;"ДД.ММ.ГГГГ"))

В A2 пробелы по краям, которых не видно. В A3 дата: для Excel это число 46316, поэтому ДЛСТР вернула 5. ТЕКСТ переводит дату в строку в нужном формате.

Количество символов в Excel — частые вопросы

Как узнать, сколько символов в ячейке?

Введите в любую ячейку =ДЛСТР(A2) — функция вернёт число символов вместе с пробелами.

Как посчитать символы без пробелов?

Удалите пробелы до подсчёта: =ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")).

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

Вычтите из длины строки длину той же строки без этого символа: =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")) считает запятые.

Как посчитать символы в нескольких ячейках сразу?

Формулой =СУММПРОИЗВ(ДЛСТР(A2:A10)) — она работает во всех версиях Excel без Ctrl+Shift+Enter.

Посчитать количество символов сразу во всех выделенных ячейках и вывести результат в соседний столбец можно в пару кликов с !SEMTools — без ввода и протягивания ДЛСТР.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: как посчитать символы в Excel

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

4 комментария:

как посчитать количество » — кавычек в строке, выдает ошибку по формуле из комментария выше)

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*