Как оставить только нужную часть текста в ячейке Excel: пошаговые инструкции

Работа с текстовыми данными в Microsoft Excel часто требует извлечения или сохранения только части информации из ячейки. Например, вам может понадобиться оставить только первые 5 символов артикула, удалить лишние пробелы в ФИО или выделить домен из email-адреса. В этой статье мы разберём 7 проверенных способов, как оставить нужный фрагмент текста в ячейке — от простых горячих клавиш до сложных формул с регулярными выражениями.

Многие пользователи ошибочно думают, что для этой задачи обязательно нужен VBA или сторонние надстройки. На самом деле 80% задач по обрезке текста решаются стандартными функциями Excel, которые работают во всех версиях программы (включая Excel 365, Excel 2021 и Excel Online). Главное — правильно подобрать метод под вашу конкретную задачу.

В статье вы найдёте:

  • 🔹 Базовые функции для извлечения подстрок (ЛЕВСИМВ, ПРАВСИМВ, ПСТР)
  • 🔹 Продвинутые приёмы с комбинацией функций (ПОИСК + ПСТР)
  • 🔹 Автоматизацию через Power Query и Flash Fill
  • 🔹 Обработку ошибок, когда текст короче ожидаемого
📊 Какой метод извлечения текста вы используете чаще?
Формулы (ЛЕВСИМВ, ПРАВСИМВ)
Текст по столбцам
Power Query
Flash Fill
Другой

1. Базовые функции: ЛЕВСИМВ, ПРАВСИМВ и ПСТР

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

  • 📌 =ЛЕВСИМВ(текст; количество) — возвращает заданное число символов слева. Пример: =ЛЕВСИМВ(A1;3) вернёт первые 3 символа из ячейки A1.
  • 📌 =ПРАВСИМВ(текст; количество) — аналогично, но берёт символы справа. Пример: =ПРАВСИМВ(A1;4) для ячейки с текстом «Привет123» вернёт «123».
  • 📌 =ПСТР(текст; начальная_позиция; количество) — извлекает фрагмент с заданной позиции. Пример: =ПСТР(A1;4;3) для текста «АБВГДЕ» вернёт «ГДЕ».

Эти функции работают во всех версиях Excel, включая Excel для Mac и Excel Online. Главный их плюс — простота и предсказуемость. Однако у них есть ограничение: если в ячейке меньше символов, чем вы запрашиваете, Excel вернёт ошибку #ЗНАЧ!. Чтобы этого избежать, используйте функцию ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ЛЕВСИМВ(A1;10); A1)
⚠️ Внимание: В английской версии Excel эти функции называются LEFT, RIGHT и MID. Если у вас русскоязычная версия, но формулы не работают, проверьте язык интерфейса в Файл → Параметры → Язык.

2. Извлечение текста между разделителями

Частая задача — оставить часть текста между двумя символами-разделителями. Например, выделить домен из email (user@domain.com) или код города из телефона ((495)123-45-67). Для этого комбинируйте функции ПОИСК (или НАЙТИ) с ПСТР.

Формула для извлечения текста между двумя одинаковыми разделителями (например, между двумя тире):

=ПСТР(A1; ПОИСК("-"; A1) + 1; ПОИСК("-"; A1; ПОИСК("-"; A1) + 1) - ПОИСК("-"; A1) - 1)

Для разных разделителей (например, между @ и . в email):

=ПСТР(A1; ПОИСК("@"; A1) + 1; ПОИСК(".", A1) - ПОИСК("@"; A1) - 1)
Исходный текст (A1) Формула Результат
user@example.com =ПСТР(A1;ПОИСК("@";A1)+1;ПОИСК(".",A1)-ПОИСК("@";A1)-1) example
(495)123-45-67 =ПСТР(A1;2;3) 495
Заказ #12345 от 01.01.2026 =ПСТР(A1;ПОИСК("#";A1)+1;5) 12345

3. Текст по столбцам: разделитель как инструмент

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

Инструкция:

  1. Выделите ячейки с текстом.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителями → нажмите Далее.
  4. Укажите нужный разделитель (например, запятую или пробел).
  5. Нажмите Готово — текст будет разбит по отдельным столбцам.

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

⚠️ Внимание: При использовании «Текста по столбцам» исходные данные заменяются на результат. Сначала сделайте копию таблицы, если оригинальные данные важны!

Создать резервную копию данных|Проверить единообразие разделителей|Удалить лишние пробелы (функция СЖПРОБЕЛЫ)|Выделить достаточно столбцов для результата-->

4. Flash Fill: автоматическое заполнение по образцу

Flash Fill (в русскоязычной версии — «Быстрое заполнение») — это инструмент Excel, который «угадывает» шаблон на основе вашего примера. Он идеален для задач, где сложно подобрать формулу, например:

  • 📋 Извлечь инициалы из ФИО (Иванов Иван ИвановичИ.И.И.)
  • 📋 Удалить префиксы (Товар_1234512345)
  • 📋 Объединить фрагменты текста в новый формат

Как использовать:

  1. Введите в соседнюю ячейку пример того, какой результат вы хотите получить.
  2. Начните вводить следующий пример — Excel предложит автоматически заполнить остальные ячейки.
  3. Нажмите Ctrl + E (или перейдите на вкладку ДанныеБыстрое заполнение).

Flash Fill работает в Excel 2013 и новее. Его главный плюс — не нужно писать формулы. Однако инструмент не всегда корректно распознаёт сложные шаблоны, поэтому для критичных данных лучше использовать функции.

Пример работы Flash Fill

Исходные данные в столбце A:

- Иванов Иван Иванович

- Петров Петр Петрович

- Сидорова Анна Сергеевна

В ячейке B1 вводим "И.И.И." и нажимаем Enter. Затем начинаем вводить в B2 "П.П.П." — Excel автоматически предложит заполнить остальные ячейки инициалами.

5. Power Query: обработка больших объёмов данных

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

  • 🔧 Разбивать текст по разделителям или позициям
  • 🔧 Извлекать подстроки по шаблонам
  • 🔧 Объединять данные из нескольких столбцов
  • 🔧 Автоматически обновлять результат при изменении исходных данных

Пример: извлечём домен из email-адресов с помощью Power Query:

  1. Выделите данные → ДанныеИз таблицы/диапазона.
  2. В открывшемся редакторе выделите столбец с email → Разделить столбецПо разделителю.
  3. Укажите разделитель @ и выберите Разделить на строки.
  4. Удалите ненужные столбцы и сохраните запрос.

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

6. Регулярные выражения (для опытных пользователей)

В Excel 365 и Excel 2021 появились функции для работы с регулярными выражениями (regex): ТЕКСТПОСЛЕ, ТЕКСТДО, ТЕКСТРАЗД и другие. Они позволяют гибко извлекать текст по сложным шаблонам.

Примеры:

  • 🔢 Извлечь все цифры из строки: =ТЕКСТРАЗД(A1; "[0-9]")
  • 🔢 Удалить все символы кроме букв: =ТЕКСТРАЗД(A1; "[А-Яа-я]")
  • 🔢 Выделить текст после последнего пробела: =ТЕКСТПОСЛЕ(A1; " "; -1)

Регулярные выражения требуют знания синтаксиса, но дают максимальную гибкость. Например, чтобы извлечь все хэштеги из текста (даже если их несколько), используйте:

=ТЕКСТРАЗД(A1; "#[А-Яа-я0-9]+")

Эти функции доступны только в новых версиях Excel. Для старых версий можно использовать VBA или надстройки вроде Kutools for Excel.

7. Обработка ошибок и особенные случаи

При работе с текстовыми данными часто возникают ошибки из-за:

  • 🚫 Недостаточной длины текста (функция запрашивает 10 символов, а в ячейке только 5).
  • 🚫 Отсутствия разделителя (например, нет @ в строке, которую вы пытаетесь разбить).
  • 🚫 Лишних пробелов или непечатаемых символов.

Чтобы избежать ошибок, используйте:

  • 🛠 ЕСЛИОШИБКА — возвращает альтернативное значение при ошибке.
  • 🛠 ЕСЛИ + ДЛСТР — проверяет длину текста перед обрезкой.
  • 🛠 СЖПРОБЕЛЫ — удаляет лишние пробелы.
  • 🛠 ПОДСТАВИТЬ — заменяет нежелательные символы.

Пример надёжной формулы для извлечения первых 5 символов (если текст короче — возвращает его полностью):

=ЕСЛИ(ДЛСТР(A1)>=5; ЛЕВСИМВ(A1;5); A1)
⚠️ Внимание: Функция ПОИСК учитывает регистр, а НАЙТИ — нет. Если вы ищете текст «иванов», но в ячейке «Иванов», ПОИСК вернёт ошибку, а НАЙТИ — нет.

FAQ: Частые вопросы по работе с текстом в Excel

Как удалить последние 3 символа в каждой ячейке?

Используйте формулу =ЛЕВСИМВ(A1; ДЛСТР(A1)-3). Она берёт все символы, кроме последних трёх. Для применения ко всему столбцу:

  1. Введите формулу в первую ячейку.
  2. Протяните маркер заполнения вниз.
  3. Скопируйте результат и вставьте как Значения (чтобы убрать формулы).
Можно ли извлечь текст между двумя разными разделителями, если их порядок не фиксирован?

Да, но потребуется более сложная формула. Например, чтобы извлечь текст между [ и ] (независимо от их порядка), используйте:

=ПСТР(A1; ПОИСК("["; A1) + 1; ПОИСК("]"; A1) - ПОИСК("["; A1) - 1)

Если разделители могут отсутствовать, оберните формулу в ЕСЛИОШИБКА.

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

Инструмент «Текст по столбцам» не обновляется автоматически. Чтобы динамически разделять текст, используйте:

  • 🔄 Формулы (например, комбинацию ПОИСК + ПСТР).
  • 🔄 Power Query (обновляется по кнопке Обновить все).
  • 🔄 VBA-макрос (для продвинутых пользователей).
Почему Flash Fill не работает?

Частые причины:

  • 🔴 В Excel 2010 или старше (Flash Fill появился в 2013 году).
  • 🔴 Недостаточно примеров (введите 2-3 строки вручную).
  • 🔴 Слишком сложный шаблон (например, нерегулярные разделители).
  • 🔴 Ячейки отформатированы как текст, а не как общий формат.

Решение: проверьте версию Excel, добавьте больше примеров или используйте формулы.

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

В Excel 365 используйте =ТЕКСТПОСЛЕ(A1; " "; -1). Для старых версий:

=ПСТР(A1; ПОИСК("♦"; ПОДСТАВИТЬ(A1; " "; "♦"; ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; " "; "")))) + 1; 100)

Здесь — временный символ-заменитель (можно использовать любой редкий символ).