Как извлечь слова из строки таблицы 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)))
ЛЕВСИМВ, ЛЕВБ (функции ЛЕВСИМВ, ЛЕВБ)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше
В этой статье описаны синтаксис и использование функций ЛЕВСИМВ и ЛЕВБ в Microsoft Excel.
Описание
Функция ЛЕВСИМВ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа символов.
Функция ЛЕВБ возвращает первый символ или несколько первых символов текстовой строки на основе заданного числа байтов.
- Эти функции могут быть доступны не на всех языках.
- Функция ЛЕВБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой двухбайтовой кодировки. В противном случае функция ЛЕВБ работает так же, как функция ЛЕВСИМВ, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Синтаксис
Аргументы этих функций описаны ниже.
- Текст Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.
- Количество_знаков Необязательный. Количество символов, извлекаемых функцией ЛЕВСИМВ.
- «Количество_знаков» должно быть больше нуля или равно ему.
- Если «количество_знаков» превышает длину текста, функция ЛЕВСИМВ возвращает весь текст.
- Если значение «количество_знаков» опущено, оно считается равным 1.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
покупка
Получить или извлечь первое слово из текстовой строки в Excel
Чтобы извлечь все первые слова из списка текстовых строк, разделенных пробелами, функции LEFT и FIND в Excel могут оказать вам услугу.

Получить или извлечь все первые слова из текстовых строк в Excel
Чтобы справиться с этой задачей, вы должны объединить функции LEFT и FIND вместе, общий синтаксис:
=LEFT(text,FIND(» «,text)-1)
- text : Текстовая строка или значение ячейки, которое вы хотите использовать.
1. Введите или скопируйте приведенную ниже формулу в пустую ячейку:
=LEFT(A2,FIND(» «,A2)-1)
2. Затем скопируйте эту формулу в другие ячейки, которые вы хотите использовать эту формулу, и все первые слова в текстовых строках были извлечены, см. Снимок экрана:

Пояснение к формуле:
НАЙТИ («»; A2) -1 : Функция НАЙТИ используется для получения позиции первого вхождения символа пробела и вычитания 1 для возврата позиции последнего символа первого слова.
ВЛЕВО (A2; НАЙТИ («»; A2) -1) : Функция LEFT извлекает самые левые символы в зависимости от количества символов, возвращенных функцией FIND.
Внимание: Если в ячейке только одно слово, эта формула вернет #VALUE! значение ошибки, как показано на следующем снимке экрана:

Чтобы решить эту проблему, вы должны встроить функцию ЕСЛИОШИБКА в формулу следующим образом:
=IFERROR(LEFT(A2,FIND(» «,A2)-1),A2)

Используемые относительные функции:
- FIND :
- Функция НАЙТИ используется для поиска строки в другой строке и возвращает начальную позицию строки внутри другой.
- LEFT :
- Функция LEFT извлекает заданное количество символов из левой части предоставленной строки.
Другие статьи:
- Извлечь N-е слово из текстовой строки в Excel
- Если у вас есть список текстовых строк или предложений, теперь вы хотите извлечь конкретное n-е слово из списка, как показано ниже. В этой статье я расскажу о некоторых методах решения этой задачи в Excel.
- Получить или извлечь последнее слово из текстовой строки в Excel
- Чтобы извлечь последнее слово из текстовой строки, разделенных пробелами, обычно вы можете создать формулу на основе функций ОБРЕЗАТЬ, ПОДСТАВИТЬ, ВПРАВО и ПОВТОР в Excel.
- Извлечь последнюю строку текста из многострочной ячейки
- Чтобы извлечь последнюю строку текста из текстовой строки, которая разделена разрывами строки, как правило, у вас нет прямого способа решить эту проблему. В этой статье я представлю формулу для решения этой задачи в Excel.
Как взять первое слово из ячейки в MS Excel?
=СЦЕПИТЬ («текст «;ЕСЛИ (ЕОШИБКА (НАЙТИ (» «;A1;1));A1;ПСТР (A1;1;НАЙТИ (» «;A1;1)-1));» текст»)
Хотелось бы еще получить для английской версии программы Excel уточнить названия таких формул как СЦЕПИТЬ, ПСТР, ЕОШИБКАГолосование за лучший ответ
=ЗАМЕНИТЬ (C2;НАЙТИ (» «;C2;2);ДЛСТР (C2)-НАЙТИ (» «;C2;2)+1;»»)
где C2 — исходная ячейка
Удачи
пусть предложение в А1. тогда первое слово определяется формулой =ЛЕВСИМВ (A1;ПОИСК (» «;A1))В обоих двух предыдущих вариантах ошибка:
если в искомом слове не будет пробела, то надо выводить весь текст
НАЙТИ (» «;A1;1) вернёт значение! знач и оба верхних варианта выведут лажу.правильный вариант такой:
=СЦЕПИТЬ («текст «;ЕСЛИ (ЕОШИБКА (НАЙТИ (» «;A1;1));A1;ПСТР (A1;1;НАЙТИ (» «;A1;1)-1));» текст»)+ собственно сцепление с другим текстом
Вот такеный макрос надо написать и забиндить на какое нибудь сочетание клавишь. Макрос не мой, на авторство не претендую, я его только слегка подправил. Он из ячейки столбца F переносит первое слово в ячейку столбца E. Если че там можно все подогнать под твои нужды. Макрос рабочий, проверено.
Sub FirstWord()
If MsgBox(«Начать выборку первых слов из столбца F?», vbOKCancel, «Выборка») = vbCancel Then End
‘отключаем экран и пересчёт форму
With Application
.ScreenUpdating = False ‘отключение обновление экрана.Calculation = xlCalculationManual ‘отключение пересчёт формул на вручную
‘ставим курсор на начальную ячейку
‘всего рядов в таблице
‘цикл со второй строки до конца вниз
For iRows& = 2 To iLastRow&
‘цикл поиска первого слова (т. е. первого пробела после первого слова)
For iCount% = 1 To Len(Cells(iRows, 6).Text)
If Mid(Cells(iRows, 6).Text, iCount%, 1) = » » Then
Cells(iRows, 5).Value = Mid(Cells(iRows, 6).Text, 1, iCount% — 1)
‘Cells(iRows, 6).Value = Mid(Cells(iRows, 6).Text, iCount% + 1, Len(Cells(iRows, 6).Text) — iCount%)
‘если в ячейке только одно слово
If iCount% = Len(Cells(iRows, 6).Text) Then
Cells(iRows, 5).Value = Cells(iRows, 6).Value
‘включаем экран и пересчёт форму
.ScreenUpdating = True ‘отключение обновление экрана
.Calculation = xlCalculationAutomatic ‘отключение пересчёт формул на вручную
MsgBox «Первые слова из списка отобраны! «, vbOKOnly + vbInformation, «Выборка»
.ScreenUpdating = True ‘отключение обновление экрана
.Calculation = xlCalculationAutomatic ‘отключение пересчёт формул на вручную
MsgBox «Произошла ошибка! » & vbCrLf & «Описание: » & Err.Description & vbCrLf & «Номер: » & Err.Number, vbExclamation