- Первое слово ячейки 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))
Как альтернативу можно посоветовать воспользоваться инструментом
Текст-По-Столбцам
(
), позволяющему, разделить текстовую строку на несколько строк.
Если необходимо из текстовой строки вывести последнее слово, то читайте статью
Выбор из строки последнего слова
.
Формулы в этой статье полезны для извлечения слов из текста, содержащегося в ячейке. Например, вы можете создать формулу для извлечения первого слова в предложении.
Извлечение первого слова из строки
Чтобы извлечь первое слово из строки, формула должна найти позицию первого символа пробела, а затем использовать эту информацию в качестве аргумента для функции ЛЕВСИМВ. Следующая формула делает это: =ЛЕВСИМВ(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)))
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!
На чтение 3 мин Просмотров 247 Опубликовано 15.05.2022
Конечно же, в Excel есть функции чтобы разделить строку по словам, а потом вывести первое слово.
В данной статье мы рассмотрим несколько способов как можно выполнить такую задачу.
Итак, начнём!
Содержание
- С помощью составления формул
- С помощью опции «Найти и выделить»
- С помощью функции «Мгновенное заполнение»
С помощью составления формул
Допустим, у нас есть такая табличка:
Наша задача — вывести первое слово из столбика А в столбик В
Для этого мы можем использовать такую формулу:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;НАЙТИ(" ";A2)-1);A2)
Как это работает?
Функция НАЙТИ вычисляет все пробелы, а функция ЛЕВСИМВ выводит все символы левее пробела.
По сути, функция ЛЕВСИМВ сделает всю работу и без НАЙТИ. Но мы получим ошибку, если в ячейке будет только одно слово.
Чтобы фильтровать её мы используем НАЙТИ в комбинации с ЕСЛИОШИБКА.
Результат выполнения функции — динамичен. То есть если данные в ячейках поменяются — результат функции тоже поменяется.
Также после извлечения нужных данных — можно убрать формулы, оставив только полученные значения.
С помощью опции «Найти и выделить»
Можно использовать функцию «Найти и выделить»
Допустим, у нас есть такая табличка:
Давайте извлечем первое слово в столбик В.
Пошаговая инструкция:
- Копируем данные из А столбика в В;
- Щелкаем на «Главная»;
- Далее — «Заменить…»;
- В первое поле введем “ *”(пробел перед звездочкой);
- Второе оставляем пустым;
- Далее — «Заменить все»;
Готово! Результат будет таким:
Также, «Заменить…» можно открыть с помощью комбинации горячих клавиш CTRL + H.
Что мы сделали?
Мы заменяем все символы, которые идут после пробела, на пустое место. Таким образом остается только первое слово.
А если в ячейке будет только одно слово, то функция ничего не сделает.
С помощью функции «Мгновенное заполнение»
Эта функция — крайне полезна.
Эта функция, впервые, была в 2013 версией Excel. Ну и во всех последующих версиях. Она «понимает» логику построения ваших данных и продолжает её.
Допустим, у нас есть такая же табличка:
Давайте используем функцию «Мгновенное заполнение».
Пошаговая инструкция:
- Чтобы программа могла понять нашу логику, сначала покажем её. Введем первое слово из ячейки А2 в В2;
- А в В3 данные из А3;
- Теперь выделим все ячейки, которые мы хотим заполнить;
- Далее откройте раздел Далее откройте раздел «Главная» -> «Заполнить» -> «Мгновенное заполнение»;
Готово! Функция поняла логику и заполнила все оставшиеся ячейки.
Не забывайте, что функция пытается понять логику и она может ошибиться. Поэтому, если используете её, всегда проверяйте данные.
Вот и все! Мы рассмотрели три метода извлечения первого слова в новую ячейку.
Надеюсь, эта статья была полезна для вас!