Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Извлечь текст до символа в Excel

Процедура доступна в !SEMTools Lite и Pro.

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

Извлечь текст до или после символа в Excel: таблица до и после
ИЗВЛЕЧЬ → Символы → Часть до... и Часть после..., символ «,»: в строках без запятой результат пустой

Чем это отличается от удаления? Результат тот же, разница в намерении и в поведении на «неудобных» строках. Если вам нужно именно обрезать ячейки на месте, смотрите, как удалить текст после символа. А забрать вторую половину строки поможет статья о том, как извлечь текст после символа.

Зачем извлекать часть текста до символа

Извлечение — это когда исходная строка остаётся, а нужный фрагмент появляется рядом. Так удобно проверять результат и строить по нему фильтры и сводные. Типичные случаи:

  • Город из адреса — «Казань, ул. Баумана, 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).

Извлечь текст до запятой
B2=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;ПОИСК(",";A2)-1);"")
ABC
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 процедуру «Часть до...»:

  1. Выделите ячейки или столбец.
  2. Откройте ИЗВЛЕЧЬ → Символы → Часть до...
  3. Выберите «Первого вхождения, включая» (символ останется в результате) или «Первого вхождения, не включая».
  4. Введите символ или фрагмент текста и нажмите 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 символов по их количеству и удалить текст до символа.


Смотрите также по теме: