Подсчет текста в Excel: символы, знаки и слова
Чтобы быстро узнать количество символов или слов в ячейке, используйте функцию =ДЛСТ(ячейка) для общего числа знаков и формулу =ЕСЛИ(А2="";0;ДЛСТ(СЖПРОБЕЛЫ(A2))-ДЛСТ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))+1) для точного подсчета слов. Эти методы работают во всех версиях Excel без необходимости копировать текст в сторонние сервисы.
Базовый подсчет символов
Самая частая задача — узнать общую длину строки. В русском интерфейсе за это отвечает функция ДЛСТ (в английском — LEN). Она считает абсолютно всё: буквы, цифры, пробелы, знаки препинания и скрытые символы.
Формула полного количества знаков
Введите в соседнюю ячейку:
=ДЛСТ(A2)
Если в ячейке A2 написано «Привет, мир!», результат будет 13 (10 букв + 1 запятая + 1 пробел + 1 восклицательный знак).
Функция ДЛСТ чувствительна к регистру только визуально, но считает любые символы одинаково. Смайлики и специальные символы могут занимать больше одного байта, но в большинстве стандартных шрифтов считаются как один знак.
Исключение пробелов из подсчета
Часто требуется узнать длину текста без учета пустот. Для этого нужно сначала удалить пробелы функцией ПОДСТАВИТЬ, а затем измерить остаток:
=ДЛСТ(ПОДСТАВИТЬ(A2;" ";""))
Эта формула превращает «Привет мир» в «Приветмир» и возвращает число 10.
Как посчитать количество слов
Подсчет слов сложнее, так как в Excel нет одной кнопки «Количество слов». Логика проста: считаем количество разделителей (пробелов) и прибавляем единицу. Однако важно учесть лишние пробелы между словами и пустые ячейки.
Универсальная формула (для всех версий)
Этот вариант надежен для Excel 2010, 2013, 2016, 2019 и 365. Он очищает текст от лишних пробелов перед расчетом:
=ЕСЛИ(СЖПРОБЕЛЫ(A2)=""; 0; ДЛСТ(СЖПРОБЕЛЫ(A2)) - ДЛСТ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2); " "; "")) + 1)
Как это работает:
СЖПРОБЕЛЫудаляет пробелы в начале, конце и сжимает множественные пробелы между словами до одного.- Разница длин строки «до» и «после» удаления пробелов показывает их количество.
- Прибавление
+1дает количество слов (так как слов всегда на одно больше, чем разделителей). ЕСЛИзащищает от ошибки, если ячейка пустая (иначе формула вернет 1 вместо 0).
Метод для новых версий (Excel 365 / 2021+)
Если у вас современная версия, можно использовать динамические массивы и функцию ТЕКСТРАЗД (или TEXTSPLIT в англ. версии), что делает формулу короче:
=СЧЁТЗ(ТЕКСТРАЗД(A2;" "))
Примечание: Эта формула может считать пустые элементы, если в тексте есть двойные пробелы, поэтому предварительная очистка через СЖПРОБЕЛЫ внутри функции все еще рекомендуется для идеальной точности.
Продвинутый анализ: только буквы или знаки
Иногда нужно отфильтровать данные, оставив только кириллицу, латиницу или цифры. Стандартными формулами это сделать сложно без перечисления всех запрещенных символов, но базовую чистку от пунктуации выполнить можно.
Удаление знаков препинания
Чтобы посчитать длину текста только из букв и цифр, последовательно удалите популярные знаки:
=ДЛСТ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; "."; ""); ","; ""); "!"; ""))
Вы можете вкладывать ПОДСТАВИТЬ друг в друга бесконечно, удаляя скобки, двоеточия и другие символы.
Этот метод неудобен, если знаков препинания много. Для глубокой очистки (например, оставить только цифры) проще использовать «Найти и заменить» (Ctrl+H) в самом диапазоне данных, удалив всё лишнее вручную, а затем применить ДЛСТ.
Сравнение методов подсчета
| Задача | Формула | Особенности |
|---|---|---|
| Все символы | =ДЛСТ(A2) | Считает пробелы и знаки |
| Без пробелов | =ДЛСТ(ПОДСТАВИТЬ(A2;" ";"")) | Игнорирует пустоты |
| Точное кол-во слов | =ЕСЛИ(...) (см. выше) | Работает везде, игнорирует лишние пробелы |
| Слова (Excel 365) | =СЧЁТЗ(ТЕКСТРАЗД(A2;" ")) | Короткая запись, требует новой версии |
Частые ошибки
- Пустая ячейка считается за одно слово. Если не добавить проверку
ЕСЛИ(Ячейка=""; 0; ...), формула со словами вернет1для пустой клетки. Всегда обрабатывайте пустоты. - Лишние пробелы искажают статистику. Текст «Слово1 Слово2» (три пробела) без функции
СЖПРОБЕЛЫбудет посчитан как 4 слова. Всегда используйте очистку пробелов. - Неверная локализация. В русской версии Excel функции называются
ДЛСТ,ПОДСТАВИТЬ,СЖПРОБЕЛЫ. В английской —LEN,SUBSTITUTE,TRIM. Использование английских названий в русскоязычной программе вызовет ошибку#ИМЯ?.
FAQ
Можно ли посчитать символы во всем столбце сразу?
Да. Напишите формулу для первой ячейки (например, B2), а затем протяните маркер заполнения вниз до конца таблицы. Для получения суммы по всему столбцу используйте =СУММ(B2:B100).
Считает ли ДЛСТ переносы строк (Alt+Enter)?
Да, символ переноса строки внутри ячейки считается за один знак. Если нужно убрать их перед подсчетом, используйте ПОДСТАВИТЬ(A2; СИМВОЛ(10); "").
Как посчитать только цифры в тексте?
Стандартной формулой это сделать крайне трудно. Самый быстрый способ: скопируйте столбец, вставьте его как значения рядом, выделите диапазон, нажмите Ctrl+H, в поле «Найти» введите ^#[^0-9] (если включены подстановочные знаки) или просто удаляйте буквы вручную через фильтр, либо используйте простейший макрос VBA для извлечения цифр.