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

ДЛСТР

Функция ДЛСТР в Excel считает количество символов в ячейке вместе с пробелами: =ДЛСТР(A2). Без пробелов — =ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")), количество слов — =ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1, сколько раз встречается символ — =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")). Числа и даты ДЛСТР считает по значению, а не по виду: для даты 21.10.2026 результат 5, потому что это число 46316. На английском функция называется LEN.

функция ДЛСТР - простейшие примеры
Примеры взаимодействия функции ДЛСТР с разными текстовыми и числовыми значениями в ячейках
Раздел функцийТекстовые
Название и описание на английскомLEN
ВолатильностьНе волатильная
Похожие функцииСЧЁТЗ

Что делает функция ДЛСТР?

Функцию часто называют "Длина строки", что не совсем корректно, потому что речь не о строке, а о строковом выражении значения аргумента.

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

  • Хотя визуально 2500% это 5 символов, при преобразовании в текстовую строку это всего лишь 25, поэтому ДЛСТР возвращает 2.
  • Даты преобразуются в целые числа, где единицей является 1.01.1900 - вот почему для неё функция возвращает длину 1.
Что считает ДЛСТР
B4=ДЛСТР(A4)
AB
1ЗначениеДЛСТР
2Excel5=ДЛСТР(A2)
3купить диван12=ДЛСТР(A3)
4 с пробелами 15=ДЛСТР(A4)
521.10.20265=ДЛСТР(A5)
62500%2=ДЛСТР(A6)
70=ДЛСТР(A7)

Пробелы по краям тоже символы: « с пробелами » — 15. Дата и проценты считаются по числу, которое хранится в ячейке: 46316 и 25.

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

Есть символ, который функция ДЛСТР вообще не учитывает. Это апостроф ('), когда он в начале ячейки. Если в начале ячейки идут два символа апострофа подряд, второй уже учитывается.

Почему так происходит? Дело в том, что апостроф в Excel — один из специальных символов-операторов, переводящий формат ячейки в текстовый.

Синтаксис функции ДЛСТР

=ДЛСТР(Аргумент)

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

ДЛСТР - форматирование

Если входящее значение не в текстовом формате, оно конвертируется в него.

Ячейки в формате даты воспринимаются как числа, поэтому содержат обычно 5 знаков (если это не даты, близкие к 1900 году).

Процентный формат также конвертируется в натуральное число, например, 2500% = 25 (2 символа, см. таблицу примеров выше).

Примеры формул, применение ДЛСТР

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

При этом эти комбинации позволяют решать самые необычные задачи.

Пример 1. Посчитать слова

Как узнать, сколько слов в ячейке Excel? Обычно их на 1 больше, чем пробелов между ними. Если пробел один, значит слов - два, если два - то слов три, и так далее.

Если есть вероятность, что пробелов больше 1 между словами, или они есть в начале и конце ячейки, их можно устранить функцией СЖПРОБЕЛЫ.

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

  • с ними,
  • без них,
  • и вычислив разницу.

Как получить строку без пробелов? Тут поможет функция ПОДСТАВИТЬ.

Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. СЖПРОБЕЛЫ удаляет лишние пробелы, ПОДСТАВИТЬ удаляет их, а ДЛСТР измеряет длину строк:

=ДЛСТР(СЖПРОБЕЛЫ(A1))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";""))+1
Пример 1: символы, символы без пробелов и слова
D2=ЕСЛИ(A2="";0;ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1)
ABCD
1ТекстСимволовБез пробеловСлов
2купить угловой диван20=ДЛСТР(A2)18=ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))3=ЕСЛИ(A2="";0;ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1)
3 два слова 14=ДЛСТР(A3)8=ДЛСТР(ПОДСТАВИТЬ(A3;" ";""))2=ЕСЛИ(A3="";0;ДЛСТР(СЖПРОБЕЛЫ(A3))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A3);" ";""))+1)
40=ДЛСТР(A4)0=ДЛСТР(ПОДСТАВИТЬ(A4;" ";""))0=ЕСЛИ(A4="";0;ДЛСТР(СЖПРОБЕЛЫ(A4))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A4);" ";""))+1)

В исходной формуле статьи первая ДЛСТР была без СЖПРОБЕЛЫ, и лишние пробелы давали лишние «слова» — исправлено. ЕСЛИ возвращает 0 для пустой ячейки.

Пример 2 - посчитать встречаемость фрагмента в тексте

Есть ли в тексте определенный символ? И если есть, то сколько их?

Рассмотрим пару примеров формул.

Есть ли в ячейке лишние пробелы

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

=ДЛСТР(СЖПРОБЕЛЫ(A1))<>ДЛСТР(A1)
ДЛСТР для проверки лишних пробелов - пример
Формула проверки наличия лишних пробелов в строке
Есть ли лишние пробелы и сколько двойных
B2=ДЛСТР(СЖПРОБЕЛЫ(A2))<>ДЛСТР(A2)
ABC
1ТекстЕсть лишние пробелы?Двойных пробелов
2купить диван угловойИСТИНА=ДЛСТР(СЖПРОБЕЛЫ(A2))<>ДЛСТР(A2)2=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")))/2
3диван ИСТИНА=ДЛСТР(СЖПРОБЕЛЫ(A3))<>ДЛСТР(A3)0=(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;" ";"")))/2
4диван угловойЛОЖЬ=ДЛСТР(СЖПРОБЕЛЫ(A4))<>ДЛСТР(A4)0=(ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;" ";"")))/2

Во второй строке лишний пробел в конце — его не видно, но формула находит. Двойные пробелы считаются так же, как любой фрагмент: разница длин делится на длину фрагмента (2).

Формула очевидна и довольно проста. Если длина ячейки после удаления лишних пробелов функцией СЖПРОБЕЛЫ равна исходной - значит, их в ней нет, а если наоборот, не равна - есть.

Обратите внимание, что, несмотря на то, что в самой постановке вопроса звучит условие ЕСЛИ, функция ЕСЛИ тут не нужна. Если равенство верное, Excel сам вставит в ячейку результат ИСТИНА, и ЛОЖЬ, если наоборот.

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

По некой аналогии с предыдущим примером, мы можем производить не булевое (ДА-НЕТ, ИСТИНА-ЛОЖЬ) сравнение длин строки перед и после удаления символа или фрагмента, а вычислить разницу.

Если мы ищем один символ, это позволит сразу понять его встречаемость.

Для удаления произвольного символа из строки нам понадобится функция ПОДСТАВИТЬ.

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

Если же текстовый фрагмент длиной 2 и более символов - нам потребуется еще и поделить полученный результат на его длину:

=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;B1;"")))/ДЛСТР(B1)
Сколько раз встречается фрагмент
C2=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;B2;"")))/ДЛСТР(B2)
ABC
1ТекстФрагментСколько раз
2чай зелёный, чай чёрныйчай2=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;B2;"")))/ДЛСТР(B2)
3мама мыла рамума2=(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;B3;"")))/ДЛСТР(B3)
4Чай и чайчай1=(ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;B4;"")))/ДЛСТР(B4)

В формуле статьи не хватало закрывающей скобки — исправлено. «Чай» с заглавной не посчитан: ПОДСТАВИТЬ различает регистр. Чтобы не различать, используйте СТРОЧН(A2) в обеих частях.

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

В данной формуле исходный текст в ячейке A1, а подсчитываемый фрагмент - в ячейке B1.

пример - функция ДЛСТР для подсчета встречаемости текстового фрагмента
Подсчет встречаемости текстового фрагмента

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

Подсчитываемый текстовый фрагмент может быть любой длины.

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

Пример 3 - извлечь или удалить последнее слово

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

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

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

Подробно пример рассмотрен здесь: Удалить последнее слово в Excel

Пример 4 - удалить первые N символов / первое слово

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

Механика проста:

  1. вычисляем позицию первого пробела функцией ПОИСК,
  2. вычитаем из длины строки (ДЛСТР) это число
  3. Извлекаем функцией ПРАВСИМВ полученную разницу из исходной строки
ДЛСТР+ПРАВСИМВ - пример с извлечением второго слова
Удаляем первое слово из ячейки, получая второе

Подробнее пример рассмотрен в статье про функцию ПРАВСИМВ.

Если же количество символов уже известно заранее, формула еще проще - нужны только ДЛСТР и ПРАВСИМВ:

=ПРАВСИМВ(A1;ДЛСТР(A1)-4)
ДЛСТР для удаления первых N символов - пример
Удаляем из строки первые 4 символа функциями ДЛСТР и ПРАВСИМВ
Пример 4: удалить первые символы или первое слово
B2=ПРАВСИМВ(A2;ДЛСТР(A2)-4)
ABC
1ТекстБез первых 4Без первого слова
2SKU-1234512345=ПРАВСИМВ(A2;ДЛСТР(A2)-4)#ЗНАЧ!=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(" ";A2))
3Иван Петров Петров=ПРАВСИМВ(A3;ДЛСТР(A3)-4)Петров=ПРАВСИМВ(A3;ДЛСТР(A3)-ПОИСК(" ";A3))

ПРАВСИМВ берёт с конца столько символов, сколько останется после удаления. Если пробела нет, ПОИСК вернёт ошибку.

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

Подробнее можно почитать тут: удалить первые N символов в ячейке.

Пример 5 - последние символы ячейки

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

А ниже примеры, как заменить последний символ в ней, взяв на 1 символ меньше с помощью ЛЕВСИМВ, и конкатенации с нужным текстом через амперсанд:

=ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&"Текст вместо последнего символа"

Или с помощью функции ЗАМЕНИТЬ, которая на вход возьмет длину строки как позицию заменяемого символа:

=ЗАМЕНИТЬ(A1;ДЛСТР(A1);1;"Текст вместо последнего символа")
Пример 5: заменить последний символ
B2=ЛЕВСИМВ(A2;ДЛСТР(A2)-1)&"!"
ABC
1ТекстЛЕВСИМВ + текстЗАМЕНИТЬ
2Москва,Москва!=ЛЕВСИМВ(A2;ДЛСТР(A2)-1)&"!"Москва!=ЗАМЕНИТЬ(A2;ДЛСТР(A2);1;"!")
3итог.итог!=ЛЕВСИМВ(A3;ДЛСТР(A3)-1)&"!"итог!=ЗАМЕНИТЬ(A3;ДЛСТР(A3);1;"!")

Позиция последнего символа равна длине строки, поэтому ЗАМЕНИТЬ с ДЛСТР меняет именно его.

В английском Excel: =LEFT(A2,LEN(A2)-1)&"!"

Пример 6 - в формуле массива

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

Здесь поможет формула массива на основе комбинации функции ДЛСТР и функции СУММ. Первая создаст массив значений длины каждой из ячеек диапазона, а вторая просуммирует эти значения:

={СУММ(ДЛСТР(ДИАПАЗОН))}
Функция ДЛСТР в формуле массива
Функция ДЛСТР в формуле массива
Пример 6: длина строк по всему диапазону
D2=СУММПРОИЗВ(ДЛСТР(A2:A4))
ABCD
1ТекстПоказательРезультат
2чайВсего символов20=СУММПРОИЗВ(ДЛСТР(A2:A4))
3кофе молотыйСамая длинная12=МАКС(ДЛСТР(A2:A4))
4какаоСамая короткая3=МИН(ДЛСТР(A2:A4))

СУММПРОИЗВ работает без Ctrl+Shift+Enter во всех версиях. МАКС и МИН по диапазону в Excel 2019 и раньше вводятся как формулы массива.

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

Аналогичным способом функциями МАКС и МИН можно посчитать длины самой длинной и самой короткой строк в диапазоне.

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

Пример 7 - извлечь цифры

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

Все примеры с ДЛСТР на сайте

Извлечь числа из текста ячеек в Excel
Извлечь латиницу в Excel
Заменить первую букву ячейки и сделать её заглавной
Посчитать количество символов в ячейках Excel
Посчитать слова в ячейках столбца
Посчитать цифры в ячейках и ячейки с цифрами
Поиск позиции первого числа в ячейке
Поиск с конца строки, справа налево в Excel
Поиск нескольких значений / по нескольким условиям в Excel
Удалить знаки препинания в Excel
Удалить первую букву / первые N символов в начале ячейки в Excel
Удалить последний символ / N символов в конце ячеек Excel
Удалить последние N слов в ячейках Excel
Разделить текст и цифры в Excel
Число и сумма прописью в Excel

Почему ДЛСТР считает не то — частые ошибки

  • Длина больше, чем видно. В ячейке невидимые пробелы по краям, неразрывные пробелы или переносы строк. Проверьте =ДЛСТР(СЖПРОБЕЛЫ(A2)).
  • Дата или число считаются «неправильно». ДЛСТР берёт хранимое значение: дата — 5 символов, 12,50 ₽ — «12,5». Для длины видимого текста используйте =ДЛСТР(ТЕКСТ(A2;"формат")).
  • Апостроф в начале не считается. Он служебный — превращает содержимое в текст и не входит в значение.
  • Слов на одно больше. Ячейка пустая или формула без СЖПРОБЕЛЫ — используйте вариант с ЕСЛИ из примера 1.

Функция ДЛСТР — частые вопросы

Что такое ДЛСТР в Excel?

Функция «длина строки»: возвращает количество символов в ячейке, включая пробелы.

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

Формулой =ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")).

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

Формулой =(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";"")))/2.

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

Формулой =СУММПРОИЗВ(ДЛСТР(A2:A100)).

Как называется ДЛСТР на английском?

LEN.

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

Итоги: функция ДЛСТР в Excel

ЗадачаФормула
Символов в ячейке=ДЛСТР(A2)
Без пробелов=ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))
Количество слов=ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1
Сколько раз фрагмент=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;B2;"")))/ДЛСТР(B2)
Символов в диапазоне=СУММПРОИЗВ(ДЛСТР(A2:A100))

Надеюсь, на этой странице вы нашли то, что искали. ДЛСТР — основа формул подсчёта и обрезки текста; помните, что она считает значение, а не вид ячейки.

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

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

*