Подсчет слов и обработка текста в Excel

Иван Корнев·13.04.2026·4 мин

Чтобы быстро посчитать количество слов в ячейке Excel, используйте универсальную формулу: =ДЛСТР(СЖП(A1))-ДЛСТР(ПОДСТАВИТЬ(СЖП(A1);" ";""))+1. Она учитывает лишние пробелы и корректно работает с обычным текстом. Если ячейка может быть пустой, оберните формулу в проверку: =ЕСЛИ(СЖП(A1)="";0; ...).

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

Оглавление

Базовая формула подсчета

Стандартный метод подсчета основан на логике: «Количество слов равно количеству пробелов плюс один». Однако простой подсчет пробелов ошибочен, если в тексте есть двойные пробелы или пробелы в начале/конце строки.

Надежная формула для одной ячейки (например, A1):

=ЕСЛИ(СЖП(A1)=""; 0; ДЛСТР(СЖП(A1)) - ДЛСТР(ПОДСТАВИТЬ(СЖП(A1); " "; "")) + 1)

Как это работает:

  1. СЖП(A1): Функция СЖП (TRIM) удаляет все лишние пробелы, оставляя только одиночные пробелы между словами. Это критически важный этап.
  2. ДЛСТР(...): Считает общую длину очищенного текста.
  3. ПОДСТАВИТЬ(...; " "; ""): Удаляет все пробелы из текста полностью.
  4. Разница длин: Показывает общее количество пробелов.
  5. +1: Добавляет единицу, так как слов всегда на одно больше, чем разделителей между ними.
  6. ЕСЛИ(...; 0; ...): Защита от ошибки, если ячейка пустая (иначе формула вернет 1 вместо 0).

Для диапазона ячеек В старых версиях Excel нет одной формулы для всего столбца. Создайте вспомогательный столбец с формулой выше для каждой строки, а затем просуммируйте его функцией СУММ. В Excel 365 можно использовать функцию LET для оптимизации или динамические массивы.

Подготовка текста: очистка пробелов

Перед анализом текст часто требует нормализации. Данные, скопированные из веба или других систем, могут содержать неразрывные пробелы (код символа 160), которые обычная функция СЖП не видит.

Универсальная очистка: Если стандартная очистка не помогает, используйте комбинацию функций для замены спецсимволов:

=СЖП(ПОДСТАВИТЬ(A1; СИМВОЛ(160); " "))

Эта формула заменяет неразрывные пробелы на обычные, а затем СЖП убирает их излишки.

Удаление знаков препинания: Если нужно посчитать слова, игнорируя запятые и точки (чтобы «слово,» не считалось отдельно), предварительно удалите их:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; ","; ""); "."; "")

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

Разделение текста на слова

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

Способ 1: Функция ТЕКСТРАЗД (Excel 365 / 2021+)

Самый быстрый метод для новых версий. Формула автоматически «разольет» слова по соседним ячейкам:

=ТЕКСТРАЗД(СЖП(A1); " ")

Способ 2: Инструмент «Текст по столбцам»

Работает во всех версиях без формул:

  1. Выделите столбец с текстом.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите формат «С разделителями» → Далее.
  4. Поставьте галочку «Пробел».
  5. Готово. Текст разобьется на множество столбцов.

Осторожно с данными При использовании инструмента «Текст по столбцам» данные перезаписываются. Если справа от вашего текста есть важная информация, она будет уничтожена. Всегда создавайте резервную копию или вставляйте пустые столбцы перед операцией.

Автоматизация через Power Query

Если вы обрабатываете тысячи строк ежедневно, формулы могут замедлить файл. Надстройка Power Query (вкладка ДанныеПолучить данные) решает задачу эффективнее.

Алгоритм действий:

  1. Выделите таблицу и нажмите Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец с текстом.
  3. На вкладке Преобразование выберите Разделить столбецПо разделителюПробел.
  4. Выберите опцию «Разделить на строки» (если нужно получить список слов) или «На столбцы».
  5. Чтобы посчитать количество, добавьте столбец СтатистикаКоличество элементов после разбиения.
  6. Нажмите Закрыть и загрузить.

Этот метод не использует ресурсы процессора при каждом изменении ячейки, как формулы, и работает стабильнее с «грязными» данными.

Частые ошибки

ОшибкаПоследствиеРешение
Игнорирование СЖПФормула считает двойные пробелы как лишние слова.Всегда оборачивайте ссылку на ячейку в СЖП().
Пустые ячейкиФормула возвращает 1 вместо 0.Добавьте условие ЕСЛИ(СЖП(A1)=""; 0; ...).
Неразрывные пробелыТекст кажется чистым, но формула ошибается.Используйте ПОДСТАВИТЬ(...; СИМВОЛ(160); " ").
Знаки препинанияСлово «привет.» считается отдельно от «привет».Предварительно удаляйте пунктуацию функцией ПОДСТАВИТЬ.

FAQ

Как посчитать количество уникальных слов? Стандартными формулами это сделать сложно. Проще всего выгрузить текст в Power Query, разделить на строки, удалить дубликаты и посчитать оставшиеся строки.

Работает ли формула для других языков? Да, логика подсчета пробелов универсальна для любого языка, использующего пробел как разделитель (английский, русский, немецкий и др.). Для китайского или японского, где пробелы не используются, этот метод не подойдет.

Можно ли посчитать слова с учетом регистра? Функции подсчета длины (ДЛСТР) не различают регистр. Если «Слово» и «слово» должны считаться разными, потребуется более сложная формула массива или выгрузка в уникальный список через Power Query с чувствительностью к регистру.