Excel начало строки до пробела

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

Здравствуйте! Подскажите, пожалуйста, как вынести в соседний столбец символы, которые идут до первого пробела? Файл прилагаю. Операция необходима, чтобы заполнить столбец «Артикул».  

  <EM><STRONG>Файл удален</STRONG> — велик размер — [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

Здравствуйте.  
Либо:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6))  
либо макросом.

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

А как в 2010 — м посмотреть размер файла не скачивая его? Я видимо косякнул, но даже проверить не могу сколько он весит не сохраняя его :)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Автору срочно необходимо посетить страничку  

http://www.planetaexcel.ru/forum.php?thread_id=8735  

  Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=vikttur}{date=18.09.2010 10:01}{thema=}{post}  
Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.{/post}{/quote}А я нет!!! Дома у меня мозилла и 2010 офис, и когда я кликаю по вложению, то оно тупо скачивается, независимо от размера :(((  
Мне это не нравится. Хотя трафик не важен (у меня дома безлимит) но я не хочу помогать нарушителям… Вот я и спрашиваю: Как размер файла увидеть раньше чем его скачал?

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Serge 007}{date=18.09.2010 10:06}{thema=Re: }{post}{quote}{login=vikttur}{date=18.09.2010 10:01}{thema=}{post}  
Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.{/post}{/quote}А я нет!!! Дома у меня мозилла и 2010 офис, и когда я кликаю по вложению, то оно тупо скачивается, независимо от размера :(((  
Мне это не нравится. Хотя трафик не важен (у меня дома безлимит) но я не хочу помогать нарушителям… Вот я и спрашиваю: Как размер файла увидеть раньше чем его скачал?{/post}{/quote}В 2003 это просто, там делать даже ничего не надо, это по умолчанию…

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=18.09.2010 10:08}{thema=Re: Re: }{post}{quote}{login=Serge 007}{date=18.09.2010 10:06}{thema=Re: }{post}Как размер файла увидеть раньше чем его скачал?{/post}{/quote}В Мозиле никак. Только после. Инструменты-Загрузки. Там показывается в окошке размер скачанного файла.{/post}{/quote}Ctrщё поэксперементирую,l+J? Оно мне пустое окно даёт :(((  
Ща ещё поэксперементирую, спасибо Дим!

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Serge 007}{date=18.09.2010 10:10}{thema=Re: Re: Re: }{post}}Ctrщё поэксперементирую,l+J? Оно мне пустое окно даёт :(((  
Ща ещё поэксперементирую, спасибо Дим!{/post}{/quote}Чё-то фигня какая-то, чя писал не это, и вроде не цитировал — часть правильно — часть нет :(((

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Это твои вирусы (все еще болеешь?) на клаву упали :)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

shooombj уже поспасибился и ушел.  
Не брать пробел:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6)-1)

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=vikttur}{date=18.09.2010 10:21}{thema=}{post}все еще болеешь?) на клаву упали :){/post}{/quote}Не думаю )))

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Серж, поставь Оперу и не мучайся

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 10:15}{thema=Re: Re: }{post}Серж, поставь Оперу и не мучайся{/post}{/quote}Юрий, спасибо. И Опера и Ишак есть, но мне больше годзилла нравится и по-умолчанию открывается она…

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Я тоже не вижу размер предварительно. Опера 10.53

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}Ну дык я не только на Планете… Думал что можно как-то :(((  

  ЗЫ А что, может можно установить каким браузером какой сайт открывать?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Я просто сделал для Оперы домашней страницей Планету.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

{quote}{login=kim}{date=19.09.2010 11:58}{thema=}{post}Я тоже не вижу размер предварительно. Опера 10.53{/post}{/quote}  
У меня Опера 10.61  
ЛКМ, открывается окошко «Загрузка файла — Открыть, Сохранить, Отмена, Справка».  
В верхней строке имя и размер файла.

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 12:00}{thema=}{post}Я просто сделал для Оперы домашней страницей Планету.{/post}{/quote}Спс, ща поколдую :-)

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=vikttur}{date=19.09.2010 12:04}{thema=Re: }{post}{quote}{login=kim}{date=19.09.2010 11:58}{thema=}{post}Я тоже не вижу размер предварительно. Опера 10.53{/post}{/quote}У меня Опера 10.61  
ЛКМ, открывается окошко «Загрузка файла — Открыть, Сохранить, Отмена, Справка».  
В верхней строке имя и размер файла.{/post}{/quote}  
Аналогично.

 

{quote}{login=Serge 007}{date=19.09.2010 11:59}{thema=Re: }{post}{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}  
ЗЫ А что, может можно установить каким браузером какой сайт открывать?{/post}{/quote}  
Можно — каким движком, если… установить комбайн Lunascape6 — в нем три-в-одном. По-моему появился и у других выбор.  
Z.  
19256

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Не, у меня такого окошка нет, надо бы поколдовать с настройками…

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

{quote}{login=Serge 007}{date=19.09.2010 11:59}{thema=Re: }{post}{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}Ну дык я не только на Планете… Думал что можно как-то :(((  

  ЗЫ А что, может можно установить каким браузером какой сайт открывать?{/post}{/quote}  

  Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

(или в закладке или где-то), открывается другой браузер.  
Не уверена, что он у меня с собой на буке есть, дома точно есть ткой скрипт.

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:12}{thema=Re: Re: }{post}  
Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

(или в закладке или где-то), открывается другой браузер.  
Не уверена, что он у меня с собой на буке есть, дома точно есть ткой скрипт.{/post}{/quote}Буду признателен. В размерах разумного :)  
Это мне больше всего подходит.  

  ЗЫ Z спасибо, но это я не осилю :(

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:12}{thema=Re: Re: }{post}  
Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

(или в закладке или где-то), открывается другой браузер.  
Не уверена, что он у меня с собой на буке есть, дома точно есть ткой скрипт.{/post}{/quote}Буду признателен. В размерах разумного :)  
Это мне больше всего подходит.  

  ЗЫ Z спасибо, но это я не осилю :(

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :(

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:27}{thema=}{post}Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :({/post}{/quote}Ага, смотрю. СПС!

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

{quote}{login=Diana Tailor}{date=19.09.2010 12:27}{thema=}{post}Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :({/post}{/quote}  

  либо OperaView

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

#30

19.09.2010 19:40:25

{quote}{login=vikttur}{date=18.09.2010 10:23}{thema=}{post}shooombj уже поспасибился и ушел.  
Не брать пробел:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6)-1){/post}{/quote}  

  Я тут) Спасибо еще раз!

Содержание

  1. Microsoft Excel
  2. Как извлечь слова из строки таблицы Excel
  3. Извлечение первого слова из строки
  4. Извлечение последнего слова строки
  5. Извлечение всего, кроме первого слова строки
  6. ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ)
  7. Описание
  8. Синтаксис
  9. Пример
  10. Вернуть текст до найденного слова или символа
  11. Описание функции
  12. Пример 1
  13. Пример 2
  14. Пример 3
  15. Пример 4
  16. Как получить слово после последнего пробела
  17. Извлечение текста между двумя символами в Excel и Google Sheets
  18. Как извлечь текст между двумя символами в Excel
  19. Извлечь текст между двумя строками/словами в Excel
  20. Получить текст между двумя экземплярами одного и того же символа в Excel
  21. Формула Excel с учетом регистра для извлечения текста между символами
  22. Извлечение текста между символами в Excel 365
  23. Получить текст между двумя символами в Google Sheets

Microsoft Excel

трюки • приёмы • решения

Как извлечь слова из строки таблицы Excel

Формулы в этой статье полезны для извлечения слов из текста, содержащегося в ячейке. Например, вы можете создать формулу для извлечения первого слова в предложении.

Извлечение первого слова из строки

Чтобы извлечь первое слово из строки, формула должна найти позицию первого символа пробела, а затем использовать эту информацию в качестве аргумента для функции ЛЕВСИМВ. Следующая формула делает это: =ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1) .

Эта формула возвращает весь текст до первого пробела в ячейке A1. Однако у нее есть небольшой недостаток: она возвращает ошибку, если текст в ячейке А1 не содержит пробелов, потому что состоит из одного слова. Несколько более сложная формула решает проблему с помощью новой функции ЕСЛИОШИБКА, отображая все содержимое ячейки, если произошла ошибка:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1);A1) .

Если вам нужно, чтобы формула была совместима с более ранними версиями Excel, вы не можете использовать ЕСЛИОШИБКА. В таком случае придется обойтись функцией ЕСЛИ и функцией ЕОШ для проверки на ошибку:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));A1;ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1))

Извлечение последнего слова строки

Извлечение последнего слова строки — более сложная задача, поскольку функция НАЙТИ работает только слева направо. Таким образом, проблема состоит в поиске последнего символа пробела. Следующая формула, однако, решает эту проблему. Она возвращает последнее слово строки (весь текст, следующий за последним символом пробела):
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;»»;»»)))))

Но у этой формулы есть такой же недостаток, как и у первой формулы из предыдущего раздела: она вернет ошибку, если строка не содержит по крайней мере один пробел. Решение заключается в использовании функции ЕСЛИОШИБКА и возврате всего содержимого ячейки А1, если возникает ошибка:
=ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)))));A1)

Следующая формула совместима со всеми версиями Excel:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));A1;ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;»»;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»))))))

Извлечение всего, кроме первого слова строки

Следующая формула возвращает содержимое ячейки А1, за исключением первого слова:
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «:A1;1)) .
Если ячейка А1 содержит текст 2008 Operating Budget, то формула вернет Operating Budget.

Формула возвращает ошибку, если ячейка содержит только одно слово. Следующая версия формулы использует функцию ЕСЛИОШИБКА, чтобы можно было избежать ошибки; формула возвращает пустую строку, если ячейка не содержит более одного слова:
=ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «;A1;1));»»)

А эта версия совместима со всеми версиями Excel:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));»»;ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «;A1;1)))

Источник

ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ)

В этой статье описаны синтаксис и использование функций ЛЕВСИМВ и ЛЕВБ в Microsoft Excel.

Описание

Функция ЛЕВСИМВ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа символов.

Функция ЛЕВБ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа байтов.

Эти функции могут быть доступны не на всех языках.

Функция ЛЕВБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой двухбайтовой кодировки. В противном случае функция ЛЕВБ работает так же, как функция ЛЕВСИМВ, и отсчитывает по одному байту на каждый символ.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

Аргументы этих функций описаны ниже.

Текст Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.

Количество_знаков Необязательный. Количество символов, извлекаемых функцией ЛЕВСИМВ.

«Количество_знаков» должно быть больше нуля или равно ему.

Если «количество_знаков» превышает длину текста, функция ЛЕВСИМВ возвращает весь текст.

Если значение «количество_знаков» опущено, оно считается равным 1.

Количество_байт Необязательный. Количество символов, извлекаемых функцией ЛЕВБ.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.

Источник

Вернуть текст до найденного слова или символа

Описание функции

Функция полезна, когда необходимо вернуть символы от начала строки. В отличие от функции ЛЕВСИМВЛ задается не количество символов, а строка, до которой необходимо вернуть текст.

Функция =НАЧАЛОСТРОКИ(ТЕКСТ; НАЙТИ; [ Старт ]; [ Регистр ]) имеет 4 аргумента:

  • ТЕКСТ — Исходный текст (или ссылка на ячейку), в котором необходимо найти начало строки.
  • НАЙТИ — Текст, до которого будет возвращаться начало строки
  • [ Старт ] — Необязательный параметр. Позиция внутри исходного текста, с которой начинается поиск текста. По умолчанию параметр равен 1.
  • [ Регистр ] — Необязательный аргумент, указывающий необходимость учета регистра. По умолчанию равен 1 — регистр учитывается. Укажите значение 0 если не хотите учитывать регистр при сравнении.

Пример 1

Найти текст до слова СТОП. Обратите внимание не важно в какой части текста находится заданное слово.

Без применения данной функции, пришлось бы сооружать вот такую формулу: =ЛЕВСИМВ(B15;НАЙТИ(«СТОП»;B15)-1)

Пример 2

Еще один вариант вернуть первое слово в тексте — в качестве параметра НАЙТИ указать пробел.

Пример 3

Можно начинать поиск с заданной позиции (аргумент Старт ). Может понадобиться в случае если стоп-слово встречается не один раз.

Пример 4

В предыдущих примерах регистр искомого текста учитывался. Для того заглавные и строчные буквы НЕ учитывались при поиске, установите параметр Регистр = 0.

Источник

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

Получить слово до первого пробела достаточно просто:
=ПСТР( A1 ;1;НАЙТИ(» «; A1 )-1)
=MID(A1,1,FIND(» «,A1)-1)
Но куда чаще сложности возникают с получением слова(символа), находящегося на определенной позиции между пробелом. Я беру в качестве примера пробел, но на самом деле это может быть абсолютно любой символ. Например, для получения второго слова(т.е. между первым и вторым пробелом), можно составить такую формулу:
=ПСТР( A1 ;НАЙТИ(» «; A1 )+1;НАЙТИ(» «; A1 ;НАЙТИ(» «; A1 )+1)-НАЙТИ(» «; A1 )-1)
=MID(A1,FIND(» «,A1)+1,FIND(» «,A1,FIND(» «,A1)+1)-FIND(» «,A1)-1)
На мой взгляд, выглядит несколько закручено, хотя все не так уж сложно:

  • НАЙТИ(» «; A1 )+1 — ищем позицию первого пробела в ячейке A1
  • НАЙТИ(» «;A1;НАЙТИ(» «; A1 )+1) — ищем позицию второго пробела и затем из этой позиции вычитаем позицию первого пробела( -НАЙТИ(» «; A1 ) )

Но есть проблема — если второго пробела нет, то формула выдаст ошибку #ЗНАЧ! (#VALUE!) . Тогда придется еще и проверку на ошибку делать, что явно не добавит формуле элегантности. А если надо не второе слово, а третье, пятое? Поэтому я предпочитаю использовать такую формулу:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ( A1 ;» «;ПОВТОР(» «;999));1;999*2);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*2),999),» «,»»)
На первый взгляд куда кошмарнее, чем первая. Но у неё есть ряд преимуществ:
— она не нуждается в проверке на отсутствие пробелов
— изменением одного числа можно получить не второе, а 3-е, 4-е и т.д. слово.

Разберем основные моменты использования этой формулы. Во-первых: формула вытаскивает второе слово от начала строки. Во-вторых: чтобы получить первое слово от начала строки, нужно в блоке 999*2 заменить 2 на 1:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ( A1 ;» «;ПОВТОР(» «;999));1;999*1);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*1),999),» «,»»)
Чтобы получить 5-е слово — меняем на 5:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ( A1 ;» «;ПОВТОР(» «;999));1;999*5);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*5),999),» «,»»)
Т.е. число — это позиция слова(или слов) между пробелами. А что будет, если мы укажем число больше, чем есть пробелов в строке?

А это как раз ТО, К ЧЕМУ ШЛИ — СЛОВО ПОСЛЕ ПОСЛЕДНЕГО ПРОБЕЛА
Если вдруг число будет больше, чем есть пробелов в строке — то мы получим слово после последнего пробела (т.е. первое слово с конца строки). Это значит, что если указать, например, *999 — в большинстве случаев получим как раз последнее слово.

Как это работает:
для примера возьмем текст «мама мыла раму» и формулу по получению второго слова от начала:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ( A1 ;» «;ПОВТОР(» «;999));1;999*2);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*2),999),» «,»»)

  • Сначала при помощи функции ПОДСТАВИТЬ (SUBSTITUTE) мы заменяем все пробелы в тексте на 999 пробелов(999 получаем при помощи функции ПОВТОР (REPT) . Число может быть и меньше 999, но не должно быть меньше длины исходной строки. В итоге мы получим очень длинную строку, в которой каждое слово будет отделено от другого 999 пробелами. Что-то вроде такого(пробелов я поставил меньше, конечно):
    «мама____________________________мыла____________________________раму»
  • Далее при помощи функции ПСТР (MID) мы берем все слова от начала строки, до символа на позиции 999*2. Т.е. из текста выше мы получим слова «мама» и «мыла» и по 999 символов после каждого:
    «мама____________________________мыла____________________________»
  • Затем при помощи функции ПРАВСИМВ (RIGHT) получаем 999 символов справа от строки. Т.е. только наше слово и куча пробелов после него
    «мыла____________________________»
  • И напоследок та же функция ПОДСТАВИТЬ (SUBSTITUTE) убирает более не нужные нам пробелы, заменяя их все на пустую строку — «» .

Вроде бы достигли того, что нам нужно было. Но вдруг необходимо получить второе слово с конца строки? А если у нас этих слов десятки? Можно использовать некую модификацию приведенной выше формулы, но которая как раз возвращает слово с конца строки:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(» «&ПОДСТАВИТЬ( A1 ;» «;ПОВТОР(» «;999));999*1);1;999);» «;»»)
=SUBSTITUTE(MID(RIGHT(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),999*1),1,999),» «,»»)
Принцип тот же: если в блоке 999*1 заменить 1 на 5, то получим 5-е слово с конца строки.
Если необходимо выдергивать слова именно по пробелам, то лучше дополнить еще одной функцией — СЖПРОБЕЛЫ (TRIM) , чтобы отсечь лишние пробелы в начале и в конце строки и оставить только одиночные пробелы между словами:

Как видите — хоть формула и выглядит не так-то просто — она весьма универсальная: может и определенное слово вытащить, и к тому же еще и количество извлекаемых слов можно указать.

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

Тогда для получения второй строки( ТЦ Таганка и ТЦ Опус ) можно применить такую формулу:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(СИМВОЛ(10)&ПОДСТАВИТЬ( C2 ;СИМВОЛ(10);ПОВТОР(СИМВОЛ(10);999));1;999*2);999);СИМВОЛ(10);»»)
СИМВОЛ(10) здесь означает перенос строки. Обычно эти переносы делаются с клавиатуры. Входим в режим редактирования ячейки, ставим курсор в нужное место строки и нажимаем Alt+Enter.
я для получения месяцев( Август 2015 г. и Сентябрь 2015 г. ) — такую:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(«/»&ПОДСТАВИТЬ( C2 ;»/»;ПОВТОР(«/»;999));999*1);1;999);»/»;»»)
В этой формуле в качестве разделителя используется слеш «/».

Разбор основных параметров формулы для применения в своих файлах
По сути, после нескольких примеров, основной принцип должен быть понятен. Но все же на примере последней формулы напомню про основные моменты и что надо сделать, чтобы применить практически к любой ситуации по извлечению слов:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(«/»&ПОДСТАВИТЬ( C2 ;»/»;ПОВТОР(«/»;999));999*1);1;999);»/»;»»)

  1. C2 — ячейка с текстом, последнее слово из которого надо извлечь.
  2. «/» — разделитель слов. Если для разделения слов используется не слеш, а запятая или точка — то во всей формуле, где встречается этот символ надо заменить его на нужный.
    Если лень прописывать этот символ внутри формулы несколько раз, его можно записать в отдельную ячейку(скажем, G1 ) и в формуле указать ссылку уже на эту ячейку:
    =ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ( G1 &ПОДСТАВИТЬ( C2 ; G1 ;ПОВТОР( G1 ;999));999*1);1;999); G1 ;»»)
    Теперь для изменения символа надо будет изменить его один раз в ячейке G1 и формула «вытащит» нужное слово/строку, опираясь именно на этот символ.
  3. *1 — число 1 — позиция слова с конца строки, которое необходимо «достать». 1 — первое с конца(т.е. последнее), 2 — предпоследнее и т.д.

Зная эти основные моменты достаточно будет в своем файле просто скопировать формулу выше и подставить в неё ссылку на нужную ячейку и указать требуемый разделитель.

Слово после последнего пробела.xls (29,5 KiB, 3 760 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Источник

Извлечение текста между двумя символами в Excel и Google Sheets

Полное руководство о том, как найти и извлечь текст из строки между двумя символами или словами в Excel и Google Sheets.

При работе с длинными строками часто может потребоваться извлечь из них определенную часть для более тщательного изучения. В Microsoft Excel и Google Sheets есть несколько способов получить текст между двумя символами или подстроками. В этой статье мы обсудим самые быстрые и эффективные из них.

Как извлечь текст между двумя символами в Excel

Чтобы извлечь текст между двумя разными символами, вы можете использовать эту общую формулу:

СРЕДНЯЯ(клеткаПОИСК(символ1, клетка) + 1, ПОИСК(char2, клетка) — ПОИСК(символ1, клетка) — 1)

Например, чтобы получить текст в круглых скобках из строки в A2, используйте следующую формулу:

=СРЕДН(A2, ПОИСК(«(«, A2)+1, ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1)

Аналогичным образом вы можете извлечь текст между фигурными скобками, квадратными скобками, угловыми скобками и так далее.

Полезный совет! Если вы имеете дело с числами и хотите, чтобы результатом было число, а не числовая строка, то дополнительно выполните какое-нибудь арифметическое действие, которое не изменит результат, например, прибавьте 0 или умножьте на 1.

=СРЕДН(A2, ПОИСК(«(«, A2)+1, ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1) *1

Обратите внимание на правильное выравнивание извлеченных значений по умолчанию в ячейках, типичное для чисел:

Как работает эта формула

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

MID(текст, start_num, num_chars)

Текст это ячейка, содержащая исходную строку (A2).

Исходное положение (start_num) — это символ, который следует сразу за открывающей скобкой. Итак, вы находите позицию «(» с помощью функции ПОИСК и добавляете к ней 1:

Чтобы выяснить, сколько символов нужно извлечь (num_chars), вы определяете положение закрывающих скобок и вычитаете из него положение открывающих скобок. Кроме того, вы вычитаете 1, чтобы исключить вторые круглые скобки:

ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1

Имея все необходимые данные, функция MID выдает именно то, что вам нужно — в нашем случае текст в скобках:

Поскольку MID является текстовой функцией, она всегда создает строку, даже если извлечение включает только числа. Чтобы получить число в качестве конечного результата, мы умножаем вывод MID на единицу или добавляем к нему ноль. Если вы извлекаете текст, эта операция не требуется.

Извлечь текст между двумя строками/словами в Excel

Чтобы втянуть текст между двумя строками или словами, формула очень похожа на ту, что обсуждалась выше. Требуется только пара различных настроек: чтобы удалить слова-разделители из конечного результата, вы добавляете и вычитаете длину самих слов, возвращаемых функцией LEN:

Например, для извлечения подстрок между словами «начало» и «конец» используется следующая формула:

=ЕСЛИОШИБКА(СРЕДН(A2, ПОИСК(«начало», A2) + ДЛСТР(«начало»), ПОИСК(«конец», A2) — ПОИСК(«начало», A2) — ДЛСТР(«начало»)), » «)

  • Чтобы избежать начальных и конечных пробелов в результатах, включите пробел после слова 1, такого как «начало», и перед словом 2, таким как «конец». Кроме того, вы можете использовать функцию TRIM, чтобы избавиться от лишних пробелов.
  • Если одно или оба указанных слова не найдены в исходной строке, формула вернет ошибку #ЗНАЧ! ошибка. Чтобы перехватить эту ошибку и заменить ее пустой строкой («»), используйте функцию ЕСЛИОШИБКА, как показано в приведенном выше примере.

Получить текст между двумя экземплярами одного и того же символа в Excel

Общая формула для извлечения текста из строки между двумя вхождениями одного и того же символа:

Например, чтобы извлечь текст, заключенный в двойные кавычки, из строки в ячейке A2, введите следующую формулу в ячейке B2:

=СРЕДН(A2, ПОИСК(«»»», A2) +1, ПОИСК(«»»», A2, ПОИСК(«»»»,A2) +1) — ПОИСК(«»»», A2) -1 )

Обратите внимание на то, как вы ищете двойную кавычку в Excel. Между внешними кавычками вводится еще один набор кавычек. Первая кавычка используется, чтобы избежать особого значения второй кавычки, так что «» между крайними кавычками означает одинарную двойную кавычку.

Другой способ поставить двойную кавычку («») в формулу Excel — использовать функцию СИМВОЛ с кодовым номером 34.

=MID(A2, ПОИСК(СИМВОЛ(34), A2) +1, ПОИСК(СИМВОЛ(34), A2, ПОИСК(СИМВОЛ(34),A2) +1) — ПОИСК(СИМВОЛ(34), A2) -1 )

Как работает эта формула

Первые два аргумента этой формулы MID не вызывают вопросов:

  • A2 — это текстовая строка для поиска, а
  • SEARCH(«»»», A2) +1 — начальный номер, т.е. позиция первой кавычки +1.

Самая сложная часть — вычисление количества символов для извлечения (num_chars):

Во-первых, мы находим позицию второй цитаты, вложив одну функцию ПОИСК в другую.

Из позиции 2-й цитаты (в А2 это 27) вычесть позицию 1-й цитаты (в А2 это 10), а затем вычесть 1, чтобы исключить из результата саму цитату:

ПОИСК(«»»», A2, ПОИСК(«»»»,A2) +1) — ПОИСК(«»»», A2) -1

Приведенная выше формула возвращает 16, что является последней недостающей частью головоломки, в которой нуждается функция MID:

=СРЕДНЕЕ(A2, 10+1, 16)

Проще говоря, MID ищет ячейку A2, начиная с символа после первой кавычки (10+1), и возвращает следующие 16 символов.

Формула Excel с учетом регистра для извлечения текста между символами

Как вы, наверное, знаете, в Microsoft Excel есть две функции для поиска строк: ПОИСК (без учета регистра) и НАЙТИ (с учетом регистра).

В ситуации, когда разделителем является буква в конкретном регистре, просто используйте НАЙТИ вместо ПОИСК. Чтобы проиллюстрировать разницу, давайте сравним две приведенные ниже формулы.

Предположим, вы хотите извлечь из строки в A2 число между двумя заглавными буквами «X».

Функция ПОИСК в этом случае работает некорректно, так как не различает «х» и «Х»:

=СРЕДН(A2, ПОИСК(«X», A2) +1, ПОИСК(«X», A2, ПОИСК(«X»,A2) +1) — ПОИСК(«X», A2) -1) +0

В результате извлекается текст между «x», а не между «X», который мы ищем:

В то время как функция НАЙТИ с учетом регистра работает прекрасно:

=СРЕДН(A2, НАЙТИ(«X», A2) +1, НАЙТИ(«X», A2, НАЙТИ(«X»,A2) +1) — НАЙТИ(«X», A2) -1) +0

И приносит именно тот результат, который нам нужен:

Извлечение текста между символами в Excel 365

В Excel 365 вы можете легко получить текст между символами, используя функции ТЕКСТПЕРЕД и ТЕКСТПОСЛЕ.

ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(клетка, символ1), char2)

Например, чтобы извлечь текст между скобками, формула проста:

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «(«), «)»)

Эта формула также хорошо работает для извлечения текста между двумя вхождениями одного и того же символа.

Например, чтобы получить текст в двойных кавычках, формула принимает следующий вид:

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «»»»), «»»»)

По умолчанию обе функции TEXTAFTER и TEXTBEFORE чувствительны к регистру. Чтобы отключить чувствительность к регистру, вы устанавливаете 4-й аргумент (match_mode) на 1 или ИСТИНА.

Например, приведенная ниже формула без учета регистра распознает как строчную букву «x», так и прописную букву «X» в качестве разделителя:

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «x», ,1), «x», ,1) +0

Как работает эта формула

Работая изнутри наружу, вы используете функцию TEXTAFTER для извлечения текста после открывающих скобок:

И передать возвращенную подстроку функции TEXTBEFORE, попросив ее найти закрывающие круглые скобки в этой подстроке и вернуть текст перед ней.

Получить текст между двумя символами в Google Sheets

Чтобы найти текст между двумя символами в Google Sheets, вам не нужно изобретать велосипед 🙂

Комбинации MID SEARCH, используемые в Excel, безупречно работают и в электронных таблицах Google.

Например, чтобы получить текст в квадратных скобках, используйте следующую формулу:

=СРЕДН(A2, ПОИСК(«[«, A2)+1, SEARCH(«]», А2) — ПОИСК(«[«А2)-1)

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

Вот как можно извлечь текст между двумя символами или словами в электронных таблицах Microsoft Excel и Google. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Источник

Если вы хотите извлечь текст до или после пробела из списка, как показано ниже, есть ли у вас хороший способ сделать это? Позвольте мне рассказать вам несколько хитрых способов извлечения текста до или после пробела только в Excel.

  • Извлечь текст до или после пробела или запятой с формулой
  • Извлечь текст до или после пробела или запятой с помощью Kutools for Excel
  • Извлечь текст перед пробелом или после пробела или любых других разделителей

Извлечь текст до или после пробела с формулой в Excel

Вы можете быстро извлечь текст перед пробелом из списка только с помощью формулы.

Выберите пустую ячейку и введите эту формулу = ЛЕВЫЙ (A1; (НАЙТИ («»; A1,1) -1)) (A1 — первая ячейка списка, из которого вы хотите извлечь текст) и нажмите Enter кнопку.

Tips:
(1) Если вы хотите извлечь текст до или после запятой, вы можете изменить «» в »,«.
(2) Если вы хотите извлечь текст только после пробела, используйте эту формулу = MID (A1; НАЙТИ («»; A1) +1,256).
(3) Этот метод извлекает текст по первому пробелу в указанных ячейках. Если в ячейке имеется несколько пробелов, например «Кэти Джей Джеймс», формула = MID (A1; НАЙТИ («»; A1) +1,256) извлечет все символы после первого пробела.

Извлекать числа (или текст) только из одной ячейки / столбца в разные столбцы / строки

Kutools for Excel повышает его Разделить клетки утилита и поддерживает пакетное извлечение всех текстовых символов или чисел из одной ячейки / столбца в два столбца / строки.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Извлеките текст до или после пробела с помощью Kutools for Excel

Если вы установили Kutools for Excel, вы можете использовать его Извлечь текст утилита для быстрого извлечения текста до или после пробела только из списка.

1. Выберите список и нажмите Кутулс > Текст > Извлечь текст. Смотрите скриншот:

2. Во всплывающем диалоговом окне введите * и пространство в Текст поле, нажмите Добавить кнопку, только отметьте это новое добавленное правило в Извлечь список и нажмите Ok кнопку.
Функции: Если вы хотите извлечь текст только после пробела, введите пространство и следуйте * в Текст box на этом этапе.

3. В другом всплывающем диалоговом окне укажите адрес первой ячейки диапазона назначения, в который будут выводиться извлеченные данные, и нажмите OK кнопка. До сих пор вы можете видеть только тексты до извлечения пробела.
     
Внимание: Если вы хотите извлечь текст до или после запятой, вы можете ввести *, or ,* в Текст пунктом.


Извлекать текст перед пробелом и после пробела / запятой по отдельности одновременно

Kutools for Excel поддерживает другую утилиту Разделить ячейку утилита, которая помогает нам извлекать текст перед пробелом / запятой и текст после пробела / запятой и выводить их в разные ячейки. Пожалуйста, сделайте следующее:

1. Выберите список текстовых строк, из которых вы будете извлекать текст, и щелкните значок Кутулс > Текст > Разделить клетки.

2. В открывшемся диалоговом окне Split Cells укажите тип разделения в поле Тип раздел, отметьте один разделительный разделитель в Разделить на и нажмите Ok кнопка. Смотрите скриншот выше:
В нашем случае мы проверяем Разделить на столбцы вариант и Space и нажмите Ok кнопка. И теперь список текстовой строки разделен на столбцы или строки в зависимости от места. Смотрите скриншот ниже:

Внимание: Если вам нужно извлечь текст до или после запятой, проверьте Другое в первом диалоговом окне «Разделить ячейки» и введите запятую «,» в поле ниже.


Демонстрация: извлечение текста до или после пробела, запятой или других разделителей с помощью Kutools for Excel


Относительные статьи:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (31)


Оценок пока нет. Оцените первым!

  • Первое слово ячейки Excel с большой буквы
  • Вывести первое слово в отдельную ячейку — формула
  • Оставить только первое слово в ячейке
  • Взять первые 2/3/N слов ячейки
  • Процедуры !SEMTools для извлечения первых N слов

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

Помимо первого слова ячейки, бывает также важно взять первое слово после него, и так далее.

Часто после извлечения требуется удалить первые слова из ячеек, но это уже кардинально другое действие, смотрите соответствующую статью.

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

Поэтому я рассмотрел эту задачу в отдельной статье “Как сделать первую букву ячейки заглавной“.

Вывести первое слово в отдельную ячейку — формула

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

=ЛЕВСИМВ(A1;ПОИСК(" ";A1&" ")-1)

Здесь A1 – ячейка с искомым словом.

Обратили внимание на дополнительный пробел, добавляемый к значению исходной ячейки через амперсанд (&)? Он используется для ситуаций, когда первое слово в ячейке является единственным, или слов в ячейке нет совсем. Если не добавлять этот пробел, функция в таких случаях вернет ошибку.

Формула для вывода первого слова в отдельную ячейку
Выводим первое слово ячейки в отдельную с помощью комбинации функций ПОИСК и ЛЕВСИМВ

А ошибки нам тут ни к чему, поэтому рекомендуется использовать формулу выше. Удобство формул в том, что, если их протянуть на весь второй столбец, при изменении данных в первом столбце первые слова будут автоматически вставляться в соседние ячейки.

Оставить только первое слово в ячейке

Простейший вариант сделать подобное в Excel – штатной процедурой “Найти и заменить“. Можно вызвать процедуру горячим сочетанием клавиш Ctrl + H, в первом окошке ввести пробел со звёздочкой (см. подстановочные символы в Excel), а второе оставить пустым как есть.

Оставить первое слово в ячейках Excel

Используем “Найти и заменить”, чтобы заменить все слова через пробел после первого, на пустоту.

Есть и вариант с использованием !SEMTools, процедура находится в подразделе ИЗВЛЕЧЬ – Извлечь Слова – по порядку:

оставить в ячейке Excel только первое слово с !SEMTools

“вытаскиваем” первые слова из ячеек и оставляем их в них же, заменяя исходные значения

Взять первые 2/3/N слов ячейки

Чем больше число слов, которые вы хотите извлечь из ячейки, тем сложнее это будет сделать. В Google Spreadsheets есть замечательная функция SPLIT, с её помощью можно разбить ячейку на отдельные слова и брать каждое из них по его индексу, что делает инструмент идеальным для такой задачи. Но в Excel, к сожалению, подобной функции нет.

Однако, есть альтернативы. Например, чтобы взять первые два слова, один из вариантов формулы будет выглядеть так:

=ЛЕВСИМВ(A1;ПОИСК(ЮНИСИМВ(23456);ПОДСТАВИТЬ(A1&" ";" ";ЮНИСИМВ(23456);2))-1)

Формула использует особенные свойства функций ПОДСТАВИТЬ и ЮНИСИМВ:

  • функция ПОДСТАВИТЬ позволяет заменить N-ую подстроку в ячейке на заданное значение
  • а ЮНИСИМВ позволяет задать это значение настолько уникальным, насколько возможно, чтобы быть уверенным, что оно будет единственным в ячейке

Далее функция ПОИСК находит позицию этого символа, чтобы функция ЛЕВСИМВ взяла все что до него (из позиции вычитается единица).

Неплохая надёжная формула со своими преимуществами и недостатками.

Преимущество в том, что легко поддаётся модификации под задачу с извлечением 3,4 и далее слов, просто нужно заменить в формуле аргумент функции подставить, который 2, на соответствующее число.

Недостаток – ЮНИСИМВ работает только в Excel 2013 и старше. Вот аналог для более ранних версий, использующий функцию СИМВОЛ:

=ЛЕВСИМВ(A1;ПОИСК(СИМВОЛ(9);ПОДСТАВИТЬ(A1&" ";" ";СИМВОЛ(9);2))-1)

Функция добавляет в строку символ табуляции, также с высокой вероятностью изначально в ней отсутствующий.

Процедуры !SEMTools для извлечения первых N слов

Знание функций и формул Excel очень помогает в работе, для энтузиастов у меня есть целый Справочник функций Excel. Однако тратить время на составление сложных конструкций может быть накладно, равно как и хранить где-то на диске огромный файл с примерами их использования.

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

взять первые несколько слов ячейки и вывести в другую

Как вытащить первые слова в ячейках в отдельный столбец или оставить в изначальных ячейках с !SEMTools

Хотите так же быстро извлекать слова по их позиции в Excel?
!SEMTools поможет с этой и решит многие другие задачи за пару кликов!

В учебнике показано, как использовать функции подстроки в Excel для извлечения текста из ячейки, получения подстроки до или после указанного символа, найти ячейки, содержащие часть строки, и многое другое.

Прежде чем мы начнем обсуждать различные методы работы с подстроками в Excel, давайте уделим немного времени определению термина, чтобы мы могли начать с той же страницы. Итак, что такое подстрока? Проще говоря, это часть текстовой записи. Например, если вы наберете что-то вроде «AA-111» в ячейке, вы назовете это буквенно-цифровая строкаи любая часть строки, скажем, «AA», будет подстрока.

Хотя в Excel нет такой функции, как функция подстроки, существуют три текстовые функции (LEFT, RIGHT и MID) для извлечения подстроки заданной длины. Кроме того, есть функции НАЙТИ и ПОИСК для получения подстроки до или после определенного символа. И есть несколько других функций для выполнения более сложных операций, таких как извлечение чисел из строки, замена одной подстроки на другую, поиск частичного совпадения текста и т. д. Ниже вы найдете примеры формул для выполнения всего этого и многого другого. .

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

  • Функция LEFT — извлечь подстроку слева.
  • Функция ПРАВО — извлечь текст справа.
  • Функция MID — для извлечения подстроки из середины текстовой строки, начиная с указанной вами точки.

Как и в случае с другими формулами, функции работы с подстроками в Excel лучше всего изучать на примере, поэтому давайте рассмотрим несколько из них.

Чтобы извлечь текст слева от строки, вы используете функцию Excel LEFT:

СЛЕВА(текст, [num_chars])

Где текст адрес ячейки, содержащей исходную строку, и num_chars количество символов, которые вы хотите извлечь.

Например, чтобы получить первые 4 символа из начала текстовой строки, используйте следующую формулу:

=ЛЕВО(A2,4)
ЛЕВАЯ формула для извлечения подстроки из начала строки

Получить подстроку с конца строки (ВПРАВО)

Чтобы получить подстроку из правой части текстовой строки, воспользуйтесь функцией Excel ПРАВИЛЬНО:

ПРАВИЛЬНО(текст, [num_chars])

Например, чтобы получить последние 4 символа с конца строки, используйте следующую формулу:

=ВПРАВО(A2,4)
ПРАВИЛЬНАЯ формула для извлечения подстроки из конца строки

Если вы хотите извлечь подстроку, начинающуюся в середине строки, в указанной вами позиции, то MID — это функция, на которую вы можете положиться.

По сравнению с двумя другими текстовыми функциями, MID имеет несколько иной синтаксис:

MID(текст, start_num, num_chars)

Помимо текст (исходная текстовая строка) и num_chars (количество символов для извлечения), вы также указываете start_num (отправная точка).

В нашем примере набора данных, чтобы получить три символа из середины строки, начинающейся с 6-го символа, вы используете следующую формулу:

=СРЕДНЕЕ(A2,6,3)
Формула MID для извлечения текста из середины строки

Кончик. Вывод формул Right, Left и Mid всегда является текстом, даже если вы извлекаете число из текстовой строки. Если вы хотите оперировать результатом как числом, оберните формулу в функцию ЗНАЧЕНИЕ следующим образом:

= ЗНАЧЕНИЕ (СРЕДНЕЕ (A2,6,3))

Как показано в приведенных выше примерах, функции Left, Right и Mid прекрасно справляются с однородными строками. Когда вы имеете дело с текстовыми строками переменной длины, потребуются более сложные манипуляции.

Примечание. Во всех приведенных ниже примерах мы будем использовать функцию SEARCH без учета регистра, чтобы получить позицию символа. Если вам нужна формула с учетом регистра, используйте функцию НАЙТИ.

Как извлечь текст перед определенным символом

Чтобы получить подстроку, предшествующую заданному символу, нужно сделать две вещи: сначала определить позицию интересующего символа, а затем вытянуть все символы перед ним. Точнее, вы используете функцию ПОИСК, чтобы найти положение символа, и вычитаете 1 из результата, потому что вы не хотите включать сам символ в вывод. А затем вы отправляете возвращенный номер непосредственно на num_chars аргумент ЛЕВОЙ функции:

ОСТАВИЛ(клеткаПОИСК(«уголь«, клетка)-1)

Например, чтобы извлечь подстроку перед символом дефиса (-) из ячейки A2, используйте следующую формулу:

=ВЛЕВО(A2, ПОИСК(«-«,A2)-1)

Независимо от того, сколько символов содержит ваша строка Excel, формула извлекает только текст до первого дефиса:
Извлечение текста перед определенным символом

Чтобы получить текст после определенного символа, вы используете несколько иной подход: получите позицию символа с помощью ПОИСК или НАЙТИ, вычтите это число из общей длины строки, возвращаемой функцией ДЛСТР, и извлеките столько же символов из конца строки. Струна.

ПРАВИЛЬНО(клетка,ЛЕН(клетка)-ПОИСК(«уголь«, клетка))

В нашем примере мы будем использовать следующую формулу для извлечения подстроки после первого дефиса:

=ВПРАВО(A2,ДЛСТР(A2)-ПОИСК(«-«,A2))
Извлечение текста после определенного символа

Как извлечь текст между двумя экземплярами символа

Чтобы получить подстроку между двумя вхождениями определенного символа, используйте следующую общую формулу:

СРЕДНЯЯ(клеткаПОИСК(«уголь«, клетка)+1, ПОИСК («уголь«, клеткаПОИСК («чар», клетка)+1) — ПОИСК («уголь«, клетка)-1)

Первые два аргумента этой формулы MID предельно ясны:

Текст это ячейка, содержащая исходную текстовую строку.

Start_num (начальная точка) — простая формула ПОИСК возвращает позицию нужного символа, к которой вы добавляете 1, потому что хотите начать извлечение со следующего символа.

Num_chars (количество символов для извлечения) — самая сложная часть:

  • Во-первых, вы определяете положение второго вхождения символа, вкладывая одну функцию поиска в другую.
  • После этого вы вычитаете позицию 1-го вхождения из позиции 2-го вхождения и вычитаете 1 из результата, так как вы не хотите включать символ-разделитель в результирующую подстроку.

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

=СРЕДН(A2, ПОИСК(«-«,A2) + 1, ПОИСК(«-«,A2,ПОИСК(«-«,A2)+1) — ПОИСК(«-«,A2) — 1)

На скриншоте ниже показан результат:
Извлечение текста между двумя дефисами

Если вы хотите извлечь текст между 2-м и 3-м или 3-м и 4-м вхождением одного и того же символа, вы можете использовать более компактную комбинацию ПОИСК ПОДСТАВКИ, чтобы получить позицию символа, как описано в разделе Как найти N-е вхождение символа в строку. :

НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(клетка,персонаж,СИМВОЛ(1),N-е вхождение))

В нашем случае мы могли бы извлечь подстроку между 2-м и 3-м дефисом по следующей формуле:

=MID(A2, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1),2))+1, НАЙТИ(СИМВОЛ(1),ЗАМЕНИТЬ(A2,»-«,СИМВОЛ(1) ,3)) — НАЙТИ(СИМВОЛ(1),ПОДСТАВИТЬ(A2,»-«,СИМВОЛ(1),2))-1)
Извлечение подстроки между 2-м и 3-м дефисом

В ситуациях, когда вы не хотите извлекать подстроку, а хотите найти только ячейки, содержащие ее, вы используете функцию ПОИСК или НАЙТИ, как показано в приведенных выше примерах, но выполняете поиск внутри функции ЕСНИМ. Если ячейка содержит подстроку, функция поиска возвращает позицию первого символа, и если ISNUMBER получает любое число, она возвращает TRUE. Если подстрока не найдена, поиск приводит к ошибке, заставляя ISNUMBER возвращать FALSE.

IНОМЕР(ПОИСК(«подстрока«, клетка))

Предположим, у вас есть список британских почтовых индексов в столбце A, и вы хотите найти те, которые содержат подстроку «1ZZ». Чтобы это сделать, используйте эту формулу:

=ISNUMBER(ПОИСК(«1zz», A2))

Результаты будут выглядеть примерно так:
Поиск ячеек, содержащих определенную подстроку

Если вы хотите вернуть собственное сообщение вместо логических значений ИСТИНА и ЛОЖЬ, вложите приведенную выше формулу в функцию ЕСЛИ:

=ЕСЛИ(IЧИСЛО(ПОИСК(«1zz», A2)), «Да», «»)

Если ячейка содержит подстроку, формула возвращает «Да», в противном случае — пустую строку («»):
Формула для идентификации ячеек, содержащих определенную подстроку

Как вы помните, функция ПОИСК в Excel нечувствительна к регистру, поэтому вы используете ее, когда регистр символов не имеет значения. Чтобы ваша формула различала прописные и строчные буквы, выберите функцию НАЙТИ с учетом регистра.

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

Как вы только что видели, Microsoft Excel предоставляет множество различных функций для работы с текстовыми строками. Если вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте задание нашему Ultimate Suite for Excel. Имея эти инструменты в своем арсенале Excel, вы просто переходите к Данные об аблебитах вкладка > Текст группу и нажмите Извлечь:
Инструмент «Извлечь текст» в Excel

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

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после заданного символа.
  2. Нажмите Вставить результаты. Сделанный!

Например, чтобы получить доменные имена из списка адресов электронной почты, выберите Все после текста переключатель и введите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите Все перед текстом переключатель, как показано на скриншоте ниже.
Определите подстроку, которую вы хотите извлечь.

И через мгновение вы получите следующие результаты:
Части адресов электронной почты извлекаются в отдельные столбцы.

Помимо скорости и простоты, инструмент Извлечь текст имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции работы с подстроками в частности. Как? Установив флажок «Вставить как формулу» в нижней части панели, вы гарантируете, что результаты выводятся в виде формул, а не значений.

В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:

  • Чтобы извлечь имя пользователя:

    =ЕСЛИОШИБКА(СЛЕВА(A2,ПОИСК(«@»,A2)-1),»»)

  • Чтобы извлечь домен:

    =ЕСЛИОШИБКА(ПРАВО(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)

Сколько времени у вас ушло бы на то, чтобы вычислить эти формулы самостоятельно? 😉

Поскольку результаты представляют собой формулы, извлеченные подстроки будут обновляться автоматически, как только в исходные строки будут внесены какие-либо изменения. Когда в ваш набор данных добавляются новые записи, вы можете копировать формулы в другие ячейки, как обычно, без необходимости заново запускать инструмент «Извлечь текст».

Если вам интересно попробовать это, а также многие другие полезные функции, включенные в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию.

Дополнительные формулы для подстрок в Excel

В этом уроке мы продемонстрировали некоторые классические формулы Excel для извлечения текста из строки. Как вы понимаете, может быть почти бесконечное количество вариаций этих базовых сценариев. Ниже вы найдете еще несколько примеров формул, в которых вам пригодятся функции Text.

Доступные загрузки

Функции работы с подстроками в Excel — практическая рабочая тетрадь (файл .xlsx)
Ultimate Suite — пробная версия (файл .exe)

Like this post? Please share to your friends:
  • Excel начало новой строки в ячейке excel
  • Excel начало недели с понедельника
  • Excel начало месяца формула
  • Excel начало месяца от текущей даты
  • Excel начало месяца конец месяца