Как проанализировать текст в Excel: 7 методов для глубокой обработки данных

Зачем анализировать текст в Excel и что это даёт?

Excel — не просто табличный редактор для цифр. Это мощный инструмент для работы с текстом, который упускают даже опытные пользователи. Представьте: у вас есть 500 отзывов клиентов, 200 постов из соцсетей или 1000 строк логов чат-бота. Вручную обработать такой массив — неделя работы. В Excel тот же анализ займёт час, если знать правильные приёмы.

Главное преимущество текстового анализа в Excel — автоматизация рутины. Программа сама посчитает частотность слов, найдёт повторяющиеся фразы, разобьёт предложения на токены и даже построит облако тегов. А ещё: вы сможете сравнить тональность текстов (позитив/негатив), выявить ключевые темы и визуализировать тренды. Всё это без платных сервисов вроде Brand Analytics или YouScan.

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

Подготовка текста: очистка и нормализация данных

Прежде чем анализировать текст, его нужно привести к единому формату. Сырые данные из интернета, баз данных или документов часто содержат «мусор»: лишние пробелы, знаки препинания, HTML-теги или регистровые ошибки (например, «Excel» и «excel» как разные слова). Вот как это исправить:

  • 🧹 Удалите лишние пробелы: используйте функцию =TRIM(A1). Она убирает пробелы в начале/конце ячейки и заменяет несколько пробелов между словами на один.
  • 🔤 Приведите текст к нижнему регистру: =LOWER(A1) сделает все буквы строчными. Это важно для корректного подсчёта повторов (например, «Кот» и «кот» станут одинаковыми).
  • 🚫 Исключите стоп-слова: создайте отдельный столбец с функцией =SUBSTITUTE(A1; "и"; ""), чтобы убрать союзы, предлоги и другие ненужные слова. Для массовой обработки используйте Power Query.
  • 🔍 Удалите знаки препинания: комбинация =SUBSTITUTE(SUBSTITUTE(A1; "."; ""); ","; "") заменит точки и запятые на пустоту. Для полного списка знаков используйте вложенные функции.
⚠️ Внимание: Не очищайте текст «на глаз». Например, удаление всех запятых может испортить данные, если они разделяют важные элементы (например, теги #сео,#маркетинг). Всегда проверяйте результат на тестовом фрагменте.

Для сложных случаев (например, тексты с HTML-разметкой) используйте Power Query:

  1. Выделите столбец с текстом → вкладка ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query добавьте пользовательский столбец с формулой для очистки (например, = Text.Clean([Column1])).
  3. Примените изменения и загрузите данные обратно в Excel.

📊 Какой объём текста вы обычно анализируете в Excel?
До 100 строк
100–1000 строк
1000–10000 строк
Более 10000 строк

Разделение текста на слова и фразы: функции TEXTSPLIT, TEXTBEFORE, TEXTAFTER

Один из ключевых этапов анализа — разбивка текста на составляющие. В Excel 365 и 2021 для этого есть специализированные функции, которые заменяют устаревшие приёмы с LEN, FIND и MID.

1. Разделение по разделителю (TEXTSPLIT)

Функция =TEXTSPLIT(A1; " ") разобьёт текст в ячейке A1 по пробелам и вернёт массив слов. Чтобы результат отобразился в нескольких ячейках, используйте формулу массива (нажмите Ctrl+Shift+Enter в старых версиях Excel).

=TEXTSPLIT(A1; " "; ; TRUE)  // Разделяет по пробелу, игнорирует пустые ячейки

2. Извлечение части текста (TEXTBEFORE/TEXTAFTER)

Эти функции возвращают текст до или после указанного разделителя. Полезно для извлечения хэштегов, доменов или ключевых фраз:

=TEXTAFTER(A1; "#")  // Вернёт всё после символа #

=TEXTBEFORE(A1; " ") // Вернёт первое слово в ячейке

Функция Пример Результат для текста "SEO_анализ #Excel"
TEXTSPLIT(A1; " ") Разбивает по пробелам ["SEO_анализ", "#Excel"]
TEXTAFTER(A1; "#") Возвращает текст после # "Excel"
TEXTBEFORE(A1; "_") Возвращает текст до _ "SEO"
⚠️ Внимание: В Excel 2019 и старше эти функции недоступны. Используйте альтернативы:
  • Для TEXTSPLIT: комбинация FILTERXML + SUBSTITUTE (пример: =FILTERXML(""&SUBSTITUTE(A1;" ";"")&"";"//s")).
  • Для TEXTBEFORE: =LEFT(A1; FIND(" "; A1)-1).

Убедиться, что текст очищен от лишних символов

Проверить версию Excel (доступны ли TEXTSPLIT/TEXTAFTER)

Создать резервную копию данных

Тестировать формулы на небольшом фрагменте текста-->

Подсчёт частотности слов и фраз: сводные таблицы vs. формулы

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

Метод 1: Сводная таблица (для больших объёмов)

  1. Разбейте текст на слова (см. предыдущий раздел) и разместите их в одном столбце.
  2. Выделите данные → ВставкаСводная таблица.
  3. Перетащите столбец со словами в область Строки, а в область Значения добавьте тот же столбец (Excel автоматически посчитает количество вхождений).
  4. Отсортируйте результат по убыванию, чтобы увидеть самые частые слова.

Метод 2: Формулы (для гибкости)

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

=COUNTIF($A$1:$A$100; "" & D1 & "")

// Ищет ячейки в A1:A100, содержащие текст из D1

Для учёта регистра (например, различать «Excel» и «excel») подойдёт формула массива:

=SUM(--(EXACT(D1; $A$1:$A$100)))

// Введите с Ctrl+Shift+Enter в старых версиях

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

Как исключить стоп-слова из подсчёта?

Создайте отдельный список стоп-слов (например, "и", "в", "на").

Используйте функцию =IF(COUNTIF(СтопСлова; A1); ""; A1), чтобы отфильтровать их перед анализом.

Либо в Power Query добавьте шаг с удалением строк, содержащих стоп-слова (меню "Домашняя" → "Удалить строки" → "Удалить строки по условию").

Анализ тональности: как определить позитив/негатив в тексте

Excel не умеет распознавать эмоции, но может помочь в ручной классификации тональности. Для этого нужно:

  1. Создать словарь тональности: список слов, которые явно указывают на позитив («отлично», «нравится») или негатив («плохо», «разочарован»).
  2. Подсчитать вхождения этих слов в каждом тексте.
  3. Назначить баллы: например, +1 за каждое позитивное слово и -1 за негативное.

Пример реализации:

  1. В столбце B разместите тексты, в C — формулу для подсчёта позитивных слов:
    =SUMPRODUCT(--ISNUMBER(SEARCH(ПозитивСлова; B1)))
  2. В D — формулу для негативных слов (аналогично, но со списком негативных слов).
  3. В E вычислите итоговый балл: =C1-D1.
  4. Добавьте условное форматирование: зелёный цвет для ячеек с E1>0, красный для E1<0.

Для автоматизации можно использовать Power Query с мерджем таблиц (объединением данных текста и словаря тональности). Это позволит обрабатывать тысячи строк без ручного труда.

Поиск и анализ N-грамм: как найти часто встречающиеся фразы

Одиночные слова дают мало контекста. Гораздо полезнее анализировать N-граммы — сочетания из 2–3 слов (биграммы и триграммы). Например, в отзывах о товаре биграмма «быстрая доставка» важнее, чем отдельные слова «быстрая» и «доставка».

Алгоритм поиска биграмм:

  1. Разбейте текст на слова (функция TEXTSPLIT).
  2. Создайте новый столбец с формулой, объединяющей текущее слово с следующим:
    =B1 & " " & B2
  3. Протяните формулу на весь диапазон (смещаясь на одну строку вниз).
  4. Используйте сводную таблицу для подсчёта частотности биграмм.

Для триграмм добавьте ещё одно слово: =B1 & " " & B2 & " " & B3.

Продвинутый метод: в Power Query добавьте пользовательский столбец с индексом слова, затем объедините таблицу саму с собой по условию [Индекс] = [Индекс]+1. Это позволит избежать ошибок при ручном протягивании формул.

Тип N-граммы Пример Где применяется
Униграмма «Excel» Подсчёт ключевых слов
Биграмма «анализ текста» Поиск контекстных фраз
Триграмма «как анализировать текст» Выявление длинных ключей для SEO

Визуализация результатов: облако тегов и графики в Excel

Цифры в таблице мало о чём говорят без визуализации. Excel предлагает несколько способов представить текстовый анализ наглядно:

  • 📊 Облако тегов: хотя в Excel нет встроенного инструмента, можно эмулировать его с помощью WordArt и условного форматирования. Размер шрифта сделайте пропорциональным частотности слова.
  • 📈 Гистограмма: подходит для сравнения частотности топ-10 слов. Выделите данные → ВставкаГистограмма.
  • 🌐 Карта деревьев (Treemap): визуализирует иерархию слов/фраз. Полезно для анализа N-грамм.
  • 🔍 Условное форматирование: раскрасьте ячейки со словами в зависимости от частотности (правило «Цветовые шкалы»).

Пример создания облака тегов:

  1. Отсортируйте слова по убыванию частотности.
  2. Скопируйте топ-50 слов в WordArt (вкладка ВставкаWordArt).
  3. Вручную измените размер шрифта для каждого слова пропорционально его частоте.
  4. Раскрасьте слова в разные цвета для лучшей читаемости.

Для автоматизации визуализации используйте Power BI (бесплатная версия) или надстройки вроде Excel Plug-in for Word Cloud.

Автоматизация анализа: макросы и Power Query

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

1. Макросы VBA

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

Sub CountWords()

Dim rng As Range

Dim cell As Range

Dim wordCount As Long

Dim words() As String

Dim i As Long

Set rng = Selection

For Each cell In rng

words = Split(Application.WorksheetFunction.Trim(cell.Value), " ")

wordCount = wordCount + UBound(words) + 1

Next cell

MsgBox "Всего слов: " & wordCount

End Sub

Чтобы запустить макрос, нажмите Alt+F8, выберите CountWords и нажмите Выполнить.

2. Power Query

Инструмент позволяет создавать многоступенчатые процессы очистки и анализа:

  1. Импортируйте текстовые данные (ДанныеИз файла или Из таблицы).
  2. Добавьте шаги для очистки (удаление пробелов, приведение к нижнему регистру).
  3. Разбейте текст на слова с помощью Text.Split.
  4. Сгруппируйте данные по словам и посчитайте количество вхождений.
  5. Экспортируйте результат обратно в Excel.
⚠️ Внимание: Макросы VBA могут конфликтовать с защитой Excel. Перед запуском проверьте настройки безопасности (ФайлПараметрыЦентр управления безопасностьюПараметры центра...Настройки макросов). Для корпоративных ПК может потребоваться разрешение администратора.

FAQ: Частые вопросы по анализу текста в Excel

Можно ли в Excel анализировать тексты на нескольких языках?

Да, но для каждого языка нужно создавать отдельные словари стоп-слов и тональности. Excel не различает языки автоматически. Для многязычных текстов предварительно разделите их по языкам (например, с помощью функции =IF(ISNUMBER(SEARCH("привет"; A1)); "Русский"; "Другой")).

Как анализировать тексты из PDF или Word в Excel?

Скопируйте текст из PDF/Word и вставьте в Excel. Для сохранения форматирования используйте Специальная вставкаТекст. Альтернатива: сохраните документ как .txt и импортируйте в Excel через Power Query (ДанныеИз файлаИз текстового/CSV).

Какая максимальная длина текста, которую может обработать Excel?

В одной ячейке Excel поддерживает до 32 767 символов. Для анализа более длинных текстов разбейте их на части или используйте Power Query, который работает с большими объёмами данных (миллионы строк).

Как экспортировать результаты анализа для дальнейшей обработки?

Используйте ФайлЭкспортСоздать PDF/XPS для статичных отчётов или Сохранить какCSV для передачи данных в другие программы (например, Python для глубокого анализа).

Можно ли в Excel построить карту связей между словами?

Нет, для визуализации связей между словами (например, графов сочетаний) потребуются специализированные инструменты вроде Gephi или Python (библиотека networkx). Однако в Excel можно подготовить данные для такого анализа: создайте таблицу с парами слов и их совместной частотностью.