- Первое слово ячейки 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)))
Извлечение слов из ячейки в таблице Excel — это простая задача, позволяющая получить первое или последнего слова из текста.
- Первого слова;
- Последнего.
- N-го.
Видеоинструкция
Извлечение первого слова из текста
Для того, чтобы выполнить эту задачу можно при помощи формулы:
=ЛЕВСИМВ(A2;НАЙТИ(«*»;ПОДСТАВИТЬ(A2;» «;»*»;1)))
Важно! Последняя цифра 1 отвечает за количество слов, которое будет скопированы, поэтому заменив ее, например, на 3 можно получить первых 3 значения.
Пример для трех.
=ЛЕВСИМВ(A2;НАЙТИ(«*»;ПОДСТАВИТЬ(A2;» «;»*»;3)))
Пример:
Копирование последнего слова
Решение заключается в использовании конструкции:
=ЕСЛИОШИБКА(ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(«*»;ПОДСТАВИТЬ(A2;» «;»*»;ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;» «;»»)))));A2)
Данная конструкция работает без модификации и изменить ее нельзя.
Пример:
Извлечение n-го слова из ячейки
Получить n-е слово из текста можно при помощи этой формулы (в примере используется 3):
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;ДЛСТР(A1)));ДЛСТР(A1)*(Number-1)+1;ДЛСТР(A1)))
Где Number — это число, отвечающее за номер.
Пример №2 для 4-го
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;ДЛСТР(A1)));ДЛСТР(A1)*(4-1)+1;ДЛСТР(A1)))
Пример:
{quote}{login=}{date=02.02.2009 03:52}{thema=Re: Re: }{post}{quote}{login=}{)pa}{date=02.02.2009 02:18}{thema=Re: }{post}{quote}{login=слэн}{date=02.02.2009 02:02}{thema=}{post}не..если буквы,то просто в моей изначальной формуле поставить вместо плюса точку с запятой,ну и убрать последние 999:
{=ПСТР(C2;1;ПОИСКПОЗ(1;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*СТРОКА($1:$999)))}{/post}{/quote}
Браво!
Слэн, скажите, а почему Вы брали «от 1 до 999» в «СТРОКЕ»? И поясните, пожалуйста, смысл домножения на «СТРОКУ», если несложно.
Спасибо.
Z — очень классная формула. Главное работает. С Вашей подачи беру на заметку.{/post}{/quote}
вы правы, задавая такие вопросы..
строка(1:999) дает массив чисел от 1 до 999 — считаю, что большего количества символов ожидать трудно, но точным было бы определить длину с помощью длстр()
умножение заставляет иксель оперировать именно числами..
а вот зачем умножать на строку, я и сам не знаю осталось от эксперимента
такая формула даже лучше:
=ПСТР(C2;1;ПОИСКПОЗ(0;(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65)*1))
или так:
=ПСТР(C2;1;ПОИСКПОЗ(0;—(КОДСИМВ((ПСТР(C2;СТРОКА($1:$999);1)))<65))){/post}{/quote}
Ясно… Большое спасибо за пояснение… :))
На чтение 3 мин Просмотров 253 Опубликовано 15.05.2022
Конечно же, в Excel есть функции чтобы разделить строку по словам, а потом вывести первое слово.
В данной статье мы рассмотрим несколько способов как можно выполнить такую задачу.
Итак, начнём!
Содержание
- С помощью составления формул
- С помощью опции «Найти и выделить»
- С помощью функции «Мгновенное заполнение»
С помощью составления формул
Допустим, у нас есть такая табличка:
Наша задача — вывести первое слово из столбика А в столбик В
Для этого мы можем использовать такую формулу:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A2;НАЙТИ(" ";A2)-1);A2)
Как это работает?
Функция НАЙТИ вычисляет все пробелы, а функция ЛЕВСИМВ выводит все символы левее пробела.
По сути, функция ЛЕВСИМВ сделает всю работу и без НАЙТИ. Но мы получим ошибку, если в ячейке будет только одно слово.
Чтобы фильтровать её мы используем НАЙТИ в комбинации с ЕСЛИОШИБКА.
Результат выполнения функции — динамичен. То есть если данные в ячейках поменяются — результат функции тоже поменяется.
Также после извлечения нужных данных — можно убрать формулы, оставив только полученные значения.
С помощью опции «Найти и выделить»
Можно использовать функцию «Найти и выделить»
Допустим, у нас есть такая табличка:
Давайте извлечем первое слово в столбик В.
Пошаговая инструкция:
- Копируем данные из А столбика в В;
- Щелкаем на «Главная»;
- Далее — «Заменить…»;
- В первое поле введем “ *”(пробел перед звездочкой);
- Второе оставляем пустым;
- Далее — «Заменить все»;
Готово! Результат будет таким:
Также, «Заменить…» можно открыть с помощью комбинации горячих клавиш CTRL + H.
Что мы сделали?
Мы заменяем все символы, которые идут после пробела, на пустое место. Таким образом остается только первое слово.
А если в ячейке будет только одно слово, то функция ничего не сделает.
С помощью функции «Мгновенное заполнение»
Эта функция — крайне полезна.
Эта функция, впервые, была в 2013 версией Excel. Ну и во всех последующих версиях. Она «понимает» логику построения ваших данных и продолжает её.
Допустим, у нас есть такая же табличка:
Давайте используем функцию «Мгновенное заполнение».
Пошаговая инструкция:
- Чтобы программа могла понять нашу логику, сначала покажем её. Введем первое слово из ячейки А2 в В2;
- А в В3 данные из А3;
- Теперь выделим все ячейки, которые мы хотим заполнить;
- Далее откройте раздел Далее откройте раздел «Главная» -> «Заполнить» -> «Мгновенное заполнение»;
Готово! Функция поняла логику и заполнила все оставшиеся ячейки.
Не забывайте, что функция пытается понять логику и она может ошибиться. Поэтому, если используете её, всегда проверяйте данные.
Вот и все! Мы рассмотрели три метода извлечения первого слова в новую ячейку.
Надеюсь, эта статья была полезна для вас!