LEFT, RIGHT и MID в Excel — как быстро извлекать части текста
Зачем это нужно
Если нужно разделить содержимое ячейки (например, username@domain, код товара, номер телефона) на части и поместить их в разные столбцы — LEFT, RIGHT и MID решают задачу быстро и без макросов. Эти функции полезны для подготовки данных к анализу, экспорту или объединению с другими источниками.
Краткое описание функций
- LEFT(text, num_chars) — извлекает num_chars символов с начала строки.
- RIGHT(text, num_chars) — извлекает num_chars символов с конца строки.
- MID(text, start, num_chars) — извлекает num_chars символов, начиная с позиции start (первая позиция = 1).
Важно: аргументы — целые числа; если num_chars больше длины строки, Excel вернёт всю строку без ошибки.
Пример использования: LEFT для извлечения имени пользователя из email
Сценарий: в столбце A хранятся email-адреса вида username@domain.com — нужно получить username.
Формула в ячейке B2:
=LEFT(A2, FIND("@", A2) - 1)Пояснение: FIND находит позицию символа “@”; вычитаем 1, чтобы исключить сам символ, и LEFT возвращает все символы слева от @.
Совет: если в ячейке могут быть пробелы в конце/начале, предварительно примените TRIM: LEFT(TRIM(A2), …).
Пример: LEFT для фиксированной длины
Если коды отправлений состоят из 2 букв и 3 цифр (например, AB123) и нужно получить буквы:
=LEFT(A2, 2)RIGHT: извлечение с конца строки
RIGHT(text, num_chars) полезна, когда нужная информация всегда в конце строки.
Пример — вынуть трёхзначный числовой код в конце кода товара:
=RIGHT(A2, 3)Пример с телефоном (формат (XXX) XXX-XXXX) — взять последние 4 цифры:
=RIGHT(A2, 4)MID: извлечение из середины строки
Функция MID полезна, когда целевая подстрока идёт не в начале и не в конце.
Синтаксис:
=MID(text, start, num_chars)Пример: из телефона в формате (XXX)XXX-XXXX нужно получить три цифры в середине (позиции 6–8):
=MID(A2,6,3)Ещё пример: извлечь домен из email (всё после @):
=MID(A2, FIND("@", A2)+1, LEN(A2))Пояснение: FIND находит @; старт — следующая позиция; LEN(A2) даёт достаточно символов, чтобы вернуть весь остаток строки.
Частые проблемы и как их решать
- Нестандартные пробелы (NBSP): используйте SUBSTITUTE(A2, CHAR(160), “ “) перед TRIM.
- Неоднородная длина: если позиции меняются, лучше искать разделитель (FIND/SEARCH) или применять TEXTBEFORE/TEXTAFTER (новые функции Excel) либо TEXTSPLIT.
- Многобайтовые символы/Unicode: функции работают по позициям символов, но визуальные символы (эмодзи, комбинирующие знаки) могут дать сдвиг; в таких случаях рассматривайте Power Query.
- Числа как числа: если исходное поле числовое, сначала приведите его к тексту: TEXT(A2, “0”) или =A2&””.
Альтернативы и когда их использовать
- TEXTSPLIT / TEXTBEFORE / TEXTAFTER — когда есть чёткие разделители и вы используете современный Excel.
- Flash Fill (Заполнение образцом) — быстрый способ для простых, неформализованных преобразований (Data → Flash Fill).
- Power Query — для крупных наборов данных, сложной очистки, обработки Unicode, объединения источников и повторяемых ETL-пайплайнов.
- Формулы на регулярных выражениях (в Office 365 с LAMBDA/REGEXEXTRACT в некоторых версиях) — мощнее для сложных шаблонов.
Ментальные модели и эвристики
- Если позиция фиксирована — используйте LEFT/RIGHT/MID.
- Если разделитель есть — TEXTSPLIT/TEXTBEFORE/TEXTAFTER или FIND+MID чаще надёжнее.
- Если данные грязные — сначала очистка (TRIM, CLEAN, SUBSTITUTE), затем извлечение.
- Для повторяемых процессов автоматизируйте в Power Query.
Мини-методология: надёжный процесс извлечения
- Оцените данные: найдите примеры нестандартных значений (пустые, лишние пробелы, разные форматы).
- Нормализуйте: TRIM, CLEAN, заменить NBSP, привести числа к тексту при необходимости.
- Выберите метод: позиции → LEFT/RIGHT/MID; разделители → TEXTBEFORE/TEXTAFTER; сложная логика → Power Query.
- Напишите формулу и протестируйте на контрольной выборке (см. тест-кейсы ниже).
- Задокументируйте и автоматизируйте (копирование формулы вниз, таблица Excel или Power Query).
Быстрый справочник (cheat sheet)
- Извлечь N символов слева: =LEFT(A2, N)
- Извлечь N символов справа: =RIGHT(A2, N)
- Извлечь из середины: =MID(A2, start, N)
- Найти позицию символа: =FIND(“символ”, A2)
- Длина строки: =LEN(A2)
- Удалить пробелы: =TRIM(A2)
Таблица соответствия (англ. имя функции → русские варианты интерфейса Excel)
| Английское имя | Примечание |
|---|---|
| LEFT, RIGHT, MID, FIND, LEN | В локализованных версиях Excel имена функций переведены. Если у вас русская версия Excel, проверьте локализованные названия в справке или используйте английские имена в Office 365, где доступны оба варианта. |
Важно: конкретные русские имена функций зависят от версии Excel; при сомнении обращайтесь к справке Excel.
Ролевые чек-листы
- Аналитик:
- Проверить 10–20 случайных строк на аномалии.
- Привести пробелы и спецсимволы в порядок.
- Написать формулы и протестировать на выборке.
- Разработчик/ETL:
- Если требуется повторяемость и сложная логика — реализовать в Power Query.
- Логировать шаги преобразования.
- QA/Тестировщик:
- Сравнить результаты формул с ожидаемыми для контрольных кейсов.
- Тест на граничные случаи (пустые ячейки, короткие строки, отсутствующий разделитель).
Критерии приёмки
- Формулы возвращают ожидаемые значения для 10–20 контрольных строк.
- Обработаны пустые и некорректные значения (не происходит ошибка #VALUE или #REF).
- Преобразование воспроизводимо (формулы / Power Query доступны и документированы).
Примеры тест-кейсов (приёмочное тестирование)
- Email: “ivan.petrov@example.com” → LEFT/FIND возвращает “ivan.petrov”; MID/FIND+LEN возвращает “example.com”.
- Код: “AB123” → LEFT(…,2) = “AB”; RIGHT(…,3) = “123”.
- Телефон: “(495) 123-4567” → MID(…, 6, 3) = “123”; RIGHT(…,4) = “4567”.
- Пустая ячейка → формулы не должны возвращать ошибку; требуйте пустую строку или обработку через IFERROR.
Когда LEFT/RIGHT/MID не подходят (контрпримеры)
- Строки с переменным числом элементов и разными разделителями — TEXTSPLIT или Power Query лучше.
- Нужна сложная логика сопоставления шаблона — регулярные выражения или скрипты удобнее.
- Большие наборы данных, где нужна повторяемая и надёжная обработка — Power Query предпочтительнее.
Безопасность и приватность
При работе с персональными данными (email, телефоны) соблюдайте корпоративную политику безопасности и требования по защите данных. Не публикуйте реальные ПДн без согласия.
Итоговая памятка
LEFT/RIGHT/MID — простые и быстрые инструменты для извлечения подстрок, особенно когда формат предсказуем. Для грязных, переменных или больших наборов данных комбинируйте их с очисткой (TRIM/SUBSTITUTE) или переходите к Power Query / TEXTSPLIT.
Часто задаваемые вопросы
Как избежать ошибок, если разделитель отсутствует?
Используйте IFERROR(формула, “”) или проверку IF(ISNUMBER(FIND(“@”, A2)), формула, “”). Это предотвратит #VALUE! при отсутствии символа.
Работают ли эти формулы с русскими буквами и кириллицей?
Да, функции работают с любыми символами UTF-8; однако визуально комбинирующие символы и эмодзи могут изменить ожидаемые позиции. В таких случаях применяйте Power Query.
Что быстрее — формула или Power Query?
Для одноразовых мелких преобразований формулы быстрее. Для больших таблиц и повторяемых задач надежнее и удобнее Power Query.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone