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