Процедура доступна в !SEMTools Lite и Pro.
Извлечь текст до символа в Excel нужно, когда из ячейки надо забрать начало строки — город из адреса, фамилию до запятой, артикул до косой черты — и при этом не потерять исходные данные. Формула для этого =ЛЕВСИМВ(A2;ПОИСК(",";A2)-1), в Excel 365 — =ТЕКСТДО(A2;","). Без формул, сразу во всём столбце, это делает процедура !SEMTools «Часть до...».

Чем это отличается от удаления? Результат тот же, разница в намерении и в поведении на «неудобных» строках. Если вам нужно именно обрезать ячейки на месте, смотрите, как удалить текст после символа. А забрать вторую половину строки поможет статья о том, как извлечь текст после символа.
Зачем извлекать часть текста до символа
Извлечение — это когда исходная строка остаётся, а нужный фрагмент появляется рядом. Так удобно проверять результат и строить по нему фильтры и сводные. Типичные случаи:
- Город из адреса — «Казань, ул. Баумана, 12» → «Казань».
- Фамилия из «Петров, Сергей» → «Петров».
- Артикул без варианта — «A-1024/RED» → «A-1024».
- Логин из e-mail — «ivan.petrov@mail.ru» → «ivan.petrov».
- Первое слово фразы — граница здесь пробел; для этого есть и отдельная процедура, о ней в статье как извлечь первые слова.
Извлечь текст до символа формулой
Классическая связка: ПОИСК возвращает позицию символа, ЛЕВСИМВ берёт столько знаков слева, сколько стоит до него.
=ЛЕВСИМВ(A2;ПОИСК("@";A2)-1)
Эта формула берёт из адреса почты всё, что стоит до «@». Чтобы сам символ попал в результат, уберите −1.
Если символа в ячейке нет, будет #ЗНАЧ!. Решите заранее, что должно быть в таких строках. Пустота:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;ПОИСК("@";A2)-1);"")
Или вся ячейка целиком — тогда вместо "" поставьте A2. Для извлечения логичнее пустота: так сразу видно, где разделителя не было.
Функция ТЕКСТДО в Excel 365
ТЕКСТДО (TEXTBEFORE) короче и умеет брать текст до N-го вхождения. Без номера — до первого:
=ТЕКСТДО(A2;"@";;;;"")
С номером 2 — до второго, с −1 — до последнего: =ТЕКСТДО(A2;"/";-1).
| A | B | C | |
|---|---|---|---|
| 1 | Данные | До запятой | До запятой, с ней |
| 2 | Москва, ул. Ленина, д. 5 | Москва=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;ПОИСК(",";A2)-1);"") | Москва,=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;ПОИСК(",";A2));"") |
| 3 | Иванов Иван, менеджер | Иванов Иван=ЕСЛИОШИБКА(ЛЕВСИМВ(A3;ПОИСК(",";A3)-1);"") | Иванов Иван,=ЕСЛИОШИБКА(ЛЕВСИМВ(A3;ПОИСК(",";A3));"") |
| 4 | Стол, обеденный | Стол=ЕСЛИОШИБКА(ЛЕВСИМВ(A4;ПОИСК(",";A4)-1);"") | Стол,=ЕСЛИОШИБКА(ЛЕВСИМВ(A4;ПОИСК(",";A4));"") |
| 5 | без запятых | =ЕСЛИОШИБКА(ЛЕВСИМВ(A5;ПОИСК(",";A5)-1);"") | =ЕСЛИОШИБКА(ЛЕВСИМВ(A5;ПОИСК(",";A5));"") |
В строке без запятой результат пустой — так же работает и процедура !SEMTools.
Разделить ячейку по символу без формул
Если формулы не нужны совсем, в Excel есть два штатных инструмента.
«Текст по столбцам» (Данные → Текст по столбцам → С разделителями) разрезает ячейку по символу на несколько столбцов. Оговорюсь сразу: он режет по всем вхождениям, а не по первому, и перезаписывает соседние столбцы, если они не пустые. Для «Москва, ул. Ленина, д. 5» получится три столбца, и часть «до первой запятой» окажется в первом из них.
«Мгновенное заполнение» (Ctrl+E) угадывает закономерность по образцу: впишите в соседнюю ячейку «Москва», перейдите ниже и нажмите Ctrl+E. Удобно, но результат надо проверять глазами — на нестандартных строках Excel ошибается молча.
Извлечь часть до символа в 2 клика с !SEMTools
Наверняка многим хотелось бы получить результат сразу, без формул и разбора, что вернёт ПОИСК на пустой строке. Для этого я сделал в !SEMTools процедуру «Часть до...»:
- Выделите ячейки или столбец.
- Откройте ИЗВЛЕЧЬ → Символы → Часть до...
- Выберите «Первого вхождения, включая» (символ останется в результате) или «Первого вхождения, не включая».
- Введите символ или фрагмент текста и нажмите OK.
Чтобы исходные данные остались на месте, включите флажок «Выводить результат справа» — извлечённая часть появится в соседнем столбце.
Чем процедура удобнее формулы, кроме скорости:
- Если символа в ячейке нет, результат пустой — без #ЗНАЧ! и ЕСЛИОШИБКА.
- Разделителем может быть целое слово: « ул.», « г.», «размер».
- Поиск учитывает регистр: «A» и «a» — разные символы.
- Нужен текст до последнего вхождения? Его даёт соседняя процедура удаления текста после символа — УДАЛИТЬ → Символы → После вхожд-я... → Последнего.
Почему не извлекается текст до символа — частые ошибки
- Ошибка #ЗНАЧ! — символа нет в ячейке. Добавьте ЕСЛИОШИБКА или используйте шестой аргумент ТЕКСТДО.
- В результате лишний пробел в конце — перед разделителем в данных стоял пробел. Поможет СЖПРОБЕЛЫ или удаление лишних пробелов.
- Извлеклось не то — разделитель встречается раньше, чем вы ожидали, например запятая внутри «д. 5, корп. 2». Проверьте, по какому вхождению нужно резать.
- Число стало текстом — ЛЕВСИМВ всегда возвращает текст. Для «1250 руб.» → «1250» добавьте двойное отрицание: =--ЛЕВСИМВ(A2;ПОИСК(" ";A2)-1).
Извлечь текст до символа — частые вопросы
Как извлечь текст до пробела в Excel?
Формулой =ЛЕВСИМВ(A2;ПОИСК(" ";A2)-1), в Excel 365 — =ТЕКСТДО(A2;" "). Если пробела нет, оберните формулу в ЕСЛИОШИБКА.
Как извлечь текст до запятой вместе с запятой?
Уберите −1 из формулы: =ЛЕВСИМВ(A2;ПОИСК(",";A2)). В !SEMTools — пункт «Первого вхождения, включая».
Как взять текст до последнего символа?
В Excel 365 — =ТЕКСТДО(A2;"/";-1). В более ранних версиях — ЛЕВСИМВ с ПОДСТАВИТЬ, как в статье об удалении текста после символа.
Чем «извлечь» отличается от «удалить после»?
Когда символ есть, результат одинаковый. Когда символа нет, извлечение возвращает пустую ячейку, а удаление оставляет текст без изменений.
Извлечь часть текста до запятой, косой черты или слова сразу во всём столбце — с символом или без — можно в пару кликов с !SEMTools, без формул и проверок на ошибки.
!SEMTools решает эту и сотни других задач в пару кликов!
Итоги: как извлечь текст до символа
Надеюсь, на этой странице вы нашли то, что искали, и смогли забрать нужную часть строки. Если результат должен пересчитываться при изменении данных, подойдут ЛЕВСИМВ + ПОИСК или ТЕКСТДО в Excel 365. Для разовой и регулярной обработки больших столбцов быстрее !SEMTools: выделил, два клика — готово, и не нужно потом заменять формулы значениями.
Вас наверняка заинтересуют и похожие операции: извлечь первые N символов по их количеству и удалить текст до символа.
Смотрите также по теме: