- Первое слово ячейки Excel с большой буквы
- Вывести первое слово в отдельную ячейку — формула
- Оставить только первое слово в ячейке
- Взять первые 2/3/N слов ячейки
- Процедуры !SEMTools для извлечения первых N слов
Первое слово (до пробела) в Excel-ячейке часто приковывает внимание тех, кто работает с текстовыми данными. Его часто нужно выделить как отдельную единицу, с которой уже определенным образом оперировать — сделать его с заглавной буквы, выделить в отдельную ячейку, оставить только его в исходной ячейке и т.д.
Помимо первого слова ячейки, бывает также важно взять первое слово после него, и так далее.
Часто после извлечения требуется удалить первые слова из ячеек, но это уже кардинально другое действие, смотрите соответствующую статью.
Сделать первое слово ячейки с большой буквы не очень сложно, если перед ним нет никаких других символов. Но если там кавычки, скобки, тире или еще какая-то пунктуация, решение может быть существенно более сложным, чем просто взять первый символ ячейки и сделать его заглавным.
Поэтому я рассмотрел эту задачу в отдельной статье “Как сделать первую букву ячейки заглавной“.
Вывести первое слово в отдельную ячейку — формула
Если под первым словом понимаются символы строки до первого пробела, то функция довольно проста:
=ЛЕВСИМВ(A1;ПОИСК(" ";A1&" ")-1)
Здесь A1 – ячейка с искомым словом.
Обратили внимание на дополнительный пробел, добавляемый к значению исходной ячейки через амперсанд (&)? Он используется для ситуаций, когда первое слово в ячейке является единственным, или слов в ячейке нет совсем. Если не добавлять этот пробел, функция в таких случаях вернет ошибку.
А ошибки нам тут ни к чему, поэтому рекомендуется использовать формулу выше. Удобство формул в том, что, если их протянуть на весь второй столбец, при изменении данных в первом столбце первые слова будут автоматически вставляться в соседние ячейки.
Оставить только первое слово в ячейке
Простейший вариант сделать подобное в Excel – штатной процедурой “Найти и заменить“. Можно вызвать процедуру горячим сочетанием клавиш Ctrl + H, в первом окошке ввести пробел со звёздочкой (см. подстановочные символы в 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 слов во всех выделенных ячейках. И либо вставить в соседний столбец, либо оставить в изначальных ячейках. За режим вывода отвечает маленький флажок в надстройке:
Хотите так же быстро извлекать слова по их позиции в Excel?
!SEMTools поможет с этой и решит многие другие задачи за пару кликов!
Если строка в ячейке содержит ФИО, например, «Петров Василий Иванович», то можно создать формулу для вывода первого слова (фамилии).
Пусть текстовая строка
Петров
Василий Иванович
находится в ячейке
A
1
. Выведем фамилию (см.
файл примера
):
=ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1)
Перед применением формулы убедитесь, что в строке нет лишних пробелов. Это можно сделать функцией
СЖПРОБЕЛЫ()
.
Число слов в строке д.б. два и более. Если нет гарантии, что в строке есть хотя бы два слова, то нужно использовать другую формулу:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1);A1)
или такую (для EXCEL 2003)
=ЕСЛИ(ЕОШИБКА(ПОИСК(» «;A1)-1);A1;ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1))
Как альтернативу можно посоветовать воспользоваться инструментом
Текст-По-Столбцам
(
), позволяющему, разделить текстовую строку на несколько строк.
Если необходимо из текстовой строки вывести последнее слово, то читайте статью
Выбор из строки последнего слова
.
Содержание:
- Извлеките первое слово с помощью текстовых формул
- Извлеките первое слово с помощью функции поиска и замены
- Извлеките первое слово, используя флэш-заливку
В Excel есть несколько замечательных формул, которые помогут вам разрезать текстовые данные на части.
Иногда, когда у вас есть текстовые данные, вам может потребоваться извлечь первое слово из текстовой строки в ячейке.
Это можно сделать в Excel несколькими способами (с помощью комбинации формул, с помощью функции «Найти и заменить» и с помощью функции Flash Fill).
В этом уроке я покажу вам несколько действительно простых способов извлечь первое слово из текстовой строки в Excel.
Извлеките первое слово с помощью текстовых формул
Предположим, у вас есть следующий набор данных, в котором вы хотите получить первое слово из каждой ячейки.
Приведенная ниже формула сделает это:
= ЕСЛИОШИБКА (ЛЕВО (A2; НАЙТИ (""; A2) -1); A2)
Позвольте мне объяснить, как работает эта формула.
Часть формулы FIND используется для поиска позиции символа пробела в текстовой строке. Когда формула находит позицию символа пробела, функция LEFT используется для извлечения всех символов перед этим первым символом пробела в текстовой строке.
Хотя одной формулы LEFT должно быть достаточно, она выдаст ошибку, если в ячейке есть только одно слово и нет пробелов.
Чтобы справиться с этой ситуацией, я заключил формулу LEFT в формулу IFERROR, которая просто возвращает исходное содержимое ячейки (поскольку нет пробелов, указывающих, что она пуста или содержит только одно слово).
В этом методе хорошо то, что результат получается динамичным. Это означает, что если вы измените исходную текстовую строку в ячейках в столбце A, формула в столбце B автоматически обновится и даст правильный результат.
Если вам не нужна формула, вы можете преобразовать ее в значения.
Извлеките первое слово с помощью функции поиска и замены
Еще один быстрый способ извлечь первое слово — использовать «Найти и заменить», чтобы удалить все, кроме первого слова.
Предположим, у вас есть набор данных, как показано ниже:
Ниже приведены инструкции по использованию функции «Найти и заменить», чтобы получить только первое слово и удалить все остальное:
- Скопируйте текст из столбца A в столбец B. Это необходимо, чтобы убедиться, что у нас также есть исходные данные.
- Выделите все ячейки в столбце B, в которых вы хотите получить первое слово.
- Перейдите на вкладку «Главная»
- В группе «Редактирование» нажмите «Найти и выбрать», а затем нажмите «Заменить». Откроется диалоговое окно «Найти и заменить».
- В поле «Найти» введите * (один пробел, за которым следует звездочка)
- Оставьте поле «Заменить на» пустым.
- Нажмите кнопку «Заменить все».
Вышеупомянутые шаги удаляют все, кроме первого слова в ячейках.
Вы также можете использовать сочетание клавиш Ctrl + H , чтобы открыть диалоговое окно «Найти и заменить».
Как это работает?
В поле «Найти» мы использовали пробел, за которым следует звездочка. Знак звездочки (*) — это подстановочный знак, который представляет любое количество символов.
Поэтому, когда мы просим Excel найти ячейки, содержащие пробел, за которым следует знак звездочки, и заменить его пробелом, он найдет первый пробел и удалит все после него, оставив нам только первое слово.
А если у вас ячейка без текста или только одно слово без пробелов, вышеуказанные шаги не внесут в нее никаких изменений.
Извлеките первое слово, используя флэш-заливку
Еще один действительно простой и быстрый способ извлечь первое слово с помощью Flash Fill.
Flash Fill был представлен в Excel 2013 и доступен во всех последующих версиях. Он помогает при манипулировании текстом, определяя шаблон, которого вы пытаетесь достичь, и заполняет его для всего столбца.
Например, предположим, что у вас есть набор данных ниже, и вы хотите извлечь только первое слово.
Ниже приведены шаги для этого:
- В ячейке B2, которая является соседним столбцом наших данных, введите вручную «Маркетинг» (что и является ожидаемым результатом).
- В ячейке B3 введите «HR».
- Выберите диапазон B2: B10
- Перейдите на вкладку «Главная»
- В группе «Редактирование» щелкните раскрывающееся меню «Заливка».
- Нажмите на опцию Flash Fill.
Вышеупомянутые шаги заполнят все ячейки первым словом из соседнего столбца (столбец A).
Осторожность: В большинстве случаев Flash Fill работает нормально и дает правильный результат, но в некоторых случаях может не дать вам правильного результата. Просто не забудьте еще раз убедиться, что результаты соответствуют ожиданиям.
Примечание. При вводе ожидаемого результата во второй ячейке столбца B вы можете увидеть весь текст во всех ячейках светло-серым цветом. Это результат, который вы получите, если сразу нажмете клавишу ввода. Если вы не видите серую линию, используйте опцию Flash Fill на ленте.
Итак, это три простых метода извлечения первого слова из текстовой строки в Excel.
Надеюсь, вы нашли этот урок полезным!
How to use a formula to get the first word from a cell in Excel. This works for a single cell and an entire list or data set.
Sections:
Get the First Word in the Cell
Non-Space Separators
More Versatile Formula — Works when Only 1 Word is in a Cell or it is Empty
Notes
Get the First Word in the Cell
To do this, we use the LEFT() and FIND() functions.
Here is a formula that gets the first word from cell A1:
(This formula assumes that your words are separated using spaces.)
The FIND function looks for the first space in the text and then returns that position back to the LEFT function. The LEFT function then uses that number to determine how many characters from the left of the cell to return. There is a -1 after the FIND function because that function finds the location of the first space and we want to get the count only up to the end of the first word; without the -1, the space after the first word will also be returned.
Non-Space Separators
If your words are separated using commas or dashes or anything that isn’t a space, you need to use a formula like this:
Or
Change the character between the quotation marks to whatever separates your words.
More Versatile Formula — Works when Only 1 Word is in a Cell or it is Empty
When you copy any of the above formulas down a list of values, an error will be returned if any of the values contains a single word or no word at all. To get around this, we need to use the IFERROR function.
Here is the updated formula:
=IFERROR(LEFT(A3,FIND(" ",A3)-1),A3)
Result:
If there was no IFERROR function wrapped around everything, an error would be returned. However, now, if an error occurs, the IFERROR function returns the value of the original cell; if there is one word in that cell, it will now be returned; if the cell is empty, an empty cell will be returned.
This is a more versatile formula and is the one you should use in most cases.
Read more about the IFERROR function and suppressing errors in Excel.
Notes
Text manipulation in Excel seems impossible to learn and understand at first but I promise you that it is not that bad. You need to make sure that you understand each part of the formulas, each function, and you need to practice using them. Once you are comfortable using LEFT(), RIGHT(), MID(), FIND(), and LEN() you will have the tools you need to be the master of text manipulation in Excel.
Make sure to download the attached file so you can work with the above examples in Excel.
Similar Content on TeachExcel
Extract the First Word from a Cell in Excel — User Defined Delimiter Text Extraction — UDF
Macro: This free Excel UDF (user defined function) returns the first word from a cell in Exce…
Extract the Last Word from a Cell in Excel — User Defined Delimiter Text Extraction — UDF
Macro: This UDF (user defined function) extracts the last word or characters from a cell in Excel…
Formula to Delete the First or Last Word from a Cell in Excel
Tutorial:
Excel formula to delete the first or last word from a cell.
You can copy and paste the fo…
Formulas to Remove First or Last Character from a Cell in Excel
Tutorial: Formulas that allow you to quickly and easily remove the first or last character from a ce…
Formula to Get the Last Value from a List in Excel
Tutorial:
Formulas that you can use to get the value of the last non-empty cell in a range in Excel…
Remove All Data Validation from a Cell in Excel
Macro: Remove all data validation from a cell in Excel with this free Excel macro. This is a grea…
Subscribe for Weekly Tutorials
BONUS: subscribe now to download our Top Tutorials Ebook!
Формулы в этой статье полезны для извлечения слов из текста, содержащегося в ячейке. Например, вы можете создать формулу для извлечения первого слова в предложении.
Извлечение первого слова из строки
Чтобы извлечь первое слово из строки, формула должна найти позицию первого символа пробела, а затем использовать эту информацию в качестве аргумента для функции ЛЕВСИМВ. Следующая формула делает это: =ЛЕВСИМВ(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)))