=ДЛСТР(A2) возвращает число символов в A2. Считается каждый символ: буквы, цифры, пробелы, знаки препинания и переносы строк. В Hello world их 11. Это функция ДЛСТР (по-английски LEN). В таблицах формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой: =СУММ(ДЛСТР(A2:A4)).
| A | B | |
|---|---|---|
| 1 | Text | Characters |
| 2 | Hello world | 11 |
| 3 | Hello world | 13 |
| 4 | Excel | 5 |
| 5 | 0 |
=ДЛСТР(A2)В A3 по пробелу с каждой стороны, поэтому получается 13. A5 пуста, а ДЛСТР от пустой ячейки равна 0. У функции один аргумент: =ДЛСТР(text), где text это ячейка, формула или текст в кавычках.
ДЛСТР считает хранимое значение, а не отображаемое
Для чисел и дат ДЛСТР считает значение, которое хранит Excel, а оно не всегда совпадает с тем, что вы видите:
| A | B | C | |
|---|---|---|---|
| 1 | Value | LEN | LEN of the display |
| 2 | $1,050.00 | 4 | 9 |
| 3 | 2026-03-15 | 5 | 10 |
=ДЛСТР(A2)A2 показывает $1,050.00, но хранит 1050, поэтому ДЛСТР возвращает 4. Дата хранится как порядковый номер 46096, поэтому ДЛСТР возвращает 5. Чтобы посчитать символы в том виде, в каком они отображаются, сначала преобразуйте значение функцией ТЕКСТ, как в столбце C.
Посчитать слова в ячейке
Функции для подсчёта слов в Excel нет. Слова разделены пробелами, поэтому посчитайте пробелы и прибавьте один. Сначала примените СЖПРОБЕЛЫ, чтобы двойные пробелы и пробелы по краям не считались словами:
| A | B | |
|---|---|---|
| 1 | Text | Words |
| 2 | The quick brown fox | 4 |
| 3 | two spaces | 2 |
| 4 | one | 1 |
| 5 | 0 |
=ЕСЛИ(СЖПРОБЕЛЫ(A2)="";0;ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1)Как это работает для The quick brown fox: в очищенном тексте 19 символов, без пробелов 16. Три пробела означают четыре слова. ЕСЛИ впереди нужна, чтобы пустая ячейка давала 0 слов, а не 1.
| A | B | |
|---|---|---|
| 1 | Sentence | Words |
| 2 | Payment received with thanks |
Ваша очередь: В B2 посчитайте слова в A2. Слова разделены одиночными пробелами.
Проверить лимит символов
ДЛСТР помогает проверить текст на лимит: заголовок страницы в 60 символов, SMS в 160, название товара в 30. Оставшиеся символы это лимит минус ДЛСТР, а условное форматирование может отметить строки сверх лимита:
| A | B | C | |
|---|---|---|---|
| 1 | Title | Characters | Left |
| 2 | Desk lamp, black | 16 | 14 |
| 3 | Ergonomic office chair with headrest | 36 | -6 |
| 4 | Monitor stand | 13 | 17 |
=ДЛСТР(A2)Правило =ДЛСТР($A2)>30 закрашивает всю строку, если название длиннее лимита. $ перед A заставляет каждый столбец строки смотреть на название. Сократите A3 до 30 символов, и цвет исчезнет. Чтобы не давать вводить более длинный текст, используйте Данные > Проверка данных и выберите в поле «Тип данных» вариант «Длина текста».
| A | B | |
|---|---|---|
| 1 | Name | Left |
| 2 | Wireless mouse |
Ваша очередь: В названии товара может быть не больше 40 символов. В B2 верните, сколько символов осталось для названия из A2.
Посчитать символы в диапазоне
ДЛСТР работает с одной ячейкой. Передайте ей диапазон внутри СУММ, и она посчитает каждую ячейку, а СУММ сложит результаты:
| A | B | C | |
|---|---|---|---|
| 1 | Text | Method | Total |
| 2 | Apple | SUM | 15 |
| 3 | Pear | SUMPRODUCT | 15 |
| 4 | Banana |
=СУММ(ДЛСТР(A2:A4))=СУММ(ДЛСТР(A2:A4)) работает как есть в Excel 2021 и Microsoft 365. В Excel 2019 и старше нужно нажать Ctrl+Shift+Enter (Cmd+Shift+Enter на Mac) или использовать СУММПРОИЗВ, которая сама работает с массивами.
Чтобы посчитать один символ в ячейке, например запятые в списке, сравните длину до и после его удаления: =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";"")). На странице о ПОДСТАВИТЬ есть живой пример, в том числе подсчёт целого слова.
Часто задаваемые вопросы
Как посчитать символы в ячейке Excel?
=ДЛСТР(A2) возвращает число символов в A2. Пробелы, знаки препинания и переносы строк тоже считаются. Чтобы не учитывать лишние пробелы, считайте очищенный текст: =ДЛСТР(СЖПРОБЕЛЫ(A2)).
Как посчитать слова в ячейке Excel?
Посчитайте пробелы и прибавьте один: =ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1. Оберните формулу в =ЕСЛИ(СЖПРОБЕЛЫ(A2)="";0;...), чтобы пустая ячейка давала 0 слов, а не 1.
Почему ДЛСТР неправильно считает число или дату?
ДЛСТР считает хранимое значение, а не то, что показывает ячейка. #,##0.00"))`.
Как посчитать все символы в диапазоне?
=СУММ(ДЛСТР(A2:A10)) в Excel 2021 и Microsoft 365. В старых версиях используйте =СУММПРОИЗВ(ДЛСТР(A2:A10)), которая работает без Ctrl+Shift+Enter.