vladislav911 Пользователь Сообщений: 7 |
#1 01.10.2016 19:55:04 Здравствуйте! Есть формула:
которая обрезает текст в ячейке после первого пробела. Подскажите, пожалуйста, как поправить эту формулу таким образом, чтобы обрезка происходила после второго пробела, т.е. в ячейке оставались первые два слова? |
||
Catboyun Пользователь Сообщений: 1631 |
#2 01.10.2016 20:08:02
|
||
Все_просто Пользователь Сообщений: 1042 |
#3 01.10.2016 20:10:25 Вот так:
На русском не уверен, но скорее всего что-то подобное:
Изменено: Все_просто — 01.10.2016 20:11:46 С уважением, |
||||
vladislav911 Пользователь Сообщений: 7 |
#4 01.10.2016 20:10:30 Разобрался. Вставил на место начальной позиции формулу, которая считает количество символов до второго пробела. Итоговая формула выглядит следующим образом:
Catboyun, спасибо большое! |
||
igorbych Пользователь Сообщений: 55 |
#5 15.05.2020 11:18:41
А если пробелов случайно нет!
|
||||
vikttur Пользователь Сообщений: 47199 |
#6 15.05.2020 11:38:55
|
||||
igorbych Пользователь Сообщений: 55 |
vikttur, что за колдовство, Ваша формула не работает. |
vikttur Пользователь Сообщений: 47199 |
Вставьте тот «пробел» в отдельную ячейку и проверьте: |
igorbych Пользователь Сообщений: 55 |
Все тайное становится явным, особенно невидимое — оказался неразрывный пробел с кодом 160 https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%80%D0%B0%D0%B7%D1%80%D1%8B%D0%B2%D0%BD%D1%8B%D0%B9_%D0… |
georgmann Пользователь Сообщений: 50 |
#10 16.11.2022 22:46:40 Спасибо Изменено: georgmann — 17.11.2022 00:08:25 |
В Excel функция Text To Columns может помочь вам извлечь каждый текст из одной ячейки в отдельные ячейки с помощью пробела, запятой или других разделителей, но пытались ли вы когда-нибудь извлечь текст до или после второго пробела или запятой из ячейки? в Excel, как показано на следующем снимке экрана? В этой статье я расскажу о некоторых методах решения этой задачи.
Извлечь текст перед вторым пробелом или запятой с помощью формулы
Извлечь текст после второго пробела или запятой с формулой
Извлечь текст перед вторым пробелом или запятой с помощью формулы
Чтобы получить текст перед вторым пробелом, примените следующую формулу:
Введите эту формулу: = ЕСЛИ (ЕСТЬОШИБКА (НАЙТИ («», A2, НАЙТИ («», A2,1) +1)), A2, LEFT (A2, FIND («», A2, FIND («», A2,1) +1) ))) в пустую ячейку, где вы хотите найти результат, C2, например, а затем перетащите дескриптор заполнения вниз к ячейкам, которые вы хотите содержать эту формулу, и весь текст до второго пробела был извлечен из каждой ячейки, см. снимок экрана:
Внимание: Если вы хотите извлечь текст перед второй запятой или другими разделителями, просто замените пробел в формуле запятой или другими разделителями по мере необходимости. Такие как: =IF(ISERROR(FIND(«,»,A2,FIND(«,»,A2,1)+1)),A2,LEFT(A2,FIND(«,»,A2,FIND(«,»,A2,1)+1))).
Извлечь текст после второго пробела или запятой с формулой
Чтобы вернуть текст после второго пробела, вам может помочь следующая формула.
Пожалуйста, введите эту формулу: = MID (A2; НАЙТИ («»; A2; НАЙТИ («»; A2) +1) +1,256) в пустую ячейку, чтобы найти результат, а затем перетащите дескриптор заполнения вниз к ячейкам, чтобы заполнить эту формулу, и весь текст после второго пробела был извлечен сразу, см. снимок экрана:
Примечание: Если вы хотите извлечь текст после второй запятой или других разделителей, вам просто нужно заменить пробел запятой или другими разделителями в формуле по мере необходимости. Такие как: = MID (A2; НАЙТИ («,»; A2; НАЙТИ («,»; A2) +1) +1,256).
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (28)
Оценок пока нет. Оцените первым!
Как извлечь текст в строке после второго пробела? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Хитрости »
24 Июль 2013 94515 просмотров
Как получить слово после последнего пробела
Получить слово до первого пробела достаточно просто:
=ПСТР(A1;1;НАЙТИ(» «;A1)-1)
=MID(A1,1,FIND(» «,A1)-1)
Но куда чаще сложности возникают с получением слова(символа), находящегося на определенной позиции между пробелом. Я беру в качестве примера пробел, но на самом деле это может быть абсолютно любой символ. Например, для получения второго слова(т.е. между первым и вторым пробелом), можно составить такую формулу:
=ПСТР(A1;НАЙТИ(» «;A1)+1;НАЙТИ(» «;A1;НАЙТИ(» «;A1)+1)-НАЙТИ(» «;A1)-1)
=MID(A1,FIND(» «,A1)+1,FIND(» «,A1,FIND(» «,A1)+1)-FIND(» «,A1)-1)
На мой взгляд, выглядит несколько закручено, хотя все не так уж сложно:
- НАЙТИ(» «;A1)+1 — ищем позицию первого пробела в ячейке A1
- НАЙТИ(» «;A1;НАЙТИ(» «;A1)+1) — ищем позицию второго пробела и затем из этой позиции вычитаем позицию первого пробела(-НАЙТИ(» «;A1))
Но есть проблема — если второго пробела нет, то формула выдаст ошибку #ЗНАЧ!(#VALUE!). Тогда придется еще и проверку на ошибку делать, что явно не добавит формуле элегантности. А если надо не второе слово, а третье, пятое? Поэтому я предпочитаю использовать такую формулу:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));1;999*2);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*2),999),» «,»»)
На первый взгляд куда кошмарнее, чем первая. Но у неё есть ряд преимуществ:
— она не нуждается в проверке на отсутствие пробелов
— изменением одного числа можно получить не второе, а 3-е, 4-е и т.д. слово.
Разберем основные моменты использования этой формулы. Во-первых: формула вытаскивает второе слово от начала строки. Во-вторых: чтобы получить первое слово от начала строки, нужно в блоке 999*2 заменить 2 на 1:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));1;999*1);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*1),999),» «,»»)
Чтобы получить 5-е слово — меняем на 5:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));1;999*5);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*5),999),» «,»»)
Т.е. число — это позиция слова(или слов) между пробелами. А что будет, если мы укажем число больше, чем есть пробелов в строке?
А это как раз ТО, К ЧЕМУ ШЛИ — СЛОВО ПОСЛЕ ПОСЛЕДНЕГО ПРОБЕЛА
Если вдруг число будет больше, чем есть пробелов в строке — то мы получим слово после последнего пробела (т.е. первое слово с конца строки). Это значит, что если указать, например, *999 — в большинстве случаев получим как раз последнее слово.
Как это работает:
для примера возьмем текст «мама мыла раму» и формулу по получению второго слова от начала:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));1;999*2);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),1,999*2),999),» «,»»)
- Сначала при помощи функции ПОДСТАВИТЬ(SUBSTITUTE) мы заменяем все пробелы в тексте на 999 пробелов(999 получаем при помощи функции ПОВТОР(REPT). Число может быть и меньше 999, но не должно быть меньше длины исходной строки. В итоге мы получим очень длинную строку, в которой каждое слово будет отделено от другого 999 пробелами. Что-то вроде такого(пробелов я поставил меньше, конечно):
«мама____________________________мыла____________________________раму» - Далее при помощи функции ПСТР(MID) мы берем все слова от начала строки, до символа на позиции 999*2. Т.е. из текста выше мы получим слова «мама» и «мыла» и по 999 символов после каждого:
«мама____________________________мыла____________________________» - Затем при помощи функции ПРАВСИМВ(RIGHT) получаем 999 символов справа от строки. Т.е. только наше слово и куча пробелов после него
«мыла____________________________» - И напоследок та же функция ПОДСТАВИТЬ(SUBSTITUTE) убирает более не нужные нам пробелы, заменяя их все на пустую строку — «».
Вроде бы достигли того, что нам нужно было. Но вдруг необходимо получить второе слово с конца строки? А если у нас этих слов десятки? Можно использовать некую модификацию приведенной выше формулы, но которая как раз возвращает слово с конца строки:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));999*1);1;999);» «;»»)
=SUBSTITUTE(MID(RIGHT(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),999*1),1,999),» «,»»)
Принцип тот же: если в блоке 999*1 заменить 1 на 5, то получим 5-е слово с конца строки.
Если необходимо выдергивать слова именно по пробелам, то лучше дополнить еще одной функцией — СЖПРОБЕЛЫ(TRIM), чтобы отсечь лишние пробелы в начале и в конце строки и оставить только одиночные пробелы между словами:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(» «&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);» «;ПОВТОР(» «;999));1;999*1);999);» «;»»)
=SUBSTITUTE(RIGHT(MID(» «&SUBSTITUTE(TRIM(A1),» «,REPT(» «,999)),1,999*1),999),» «,»»)
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(» «&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);» «;ПОВТОР(» «;999));999*1);1;999);» «;»»)
=SUBSTITUTE(MID(RIGHT(» «&SUBSTITUTE(TRIM(A1),» «,REPT(» «,999)),999*1),1,999),» «,»»)
=СЖПРОБЕЛЫ(ПСТР(ПРАВСИМВ(» «&ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;999));999*3);1;999*2))
=TRIM(MID(RIGHT(» «&SUBSTITUTE(A1,» «,REPT(» «,999)),999*3),1,999*2))
3 — третье слово с конца строки.
2 — количество слов.
Как видите — хоть формула и выглядит не так-то просто — она весьма универсальная: может и определенное слово вытащить, и к тому же еще и количество извлекаемых слов можно указать.
Остается еще добавить, что вместо пробелов могут быть и другие символы. Например, очень часто встречается ситуация, когда надо из текста получить не одно слово в конкретной позиции, а конкретную строку из текста, разнесенного в одной ячейке на строки:
Тогда для получения второй строки(
ТЦ Таганка
и
ТЦ Опус
) можно применить такую формулу:
=ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(СИМВОЛ(10)&ПОДСТАВИТЬ(C2;СИМВОЛ(10);ПОВТОР(СИМВОЛ(10);999));1;999*2);999);СИМВОЛ(10);»»)
СИМВОЛ(10) здесь означает перенос строки. Обычно эти переносы делаются с клавиатуры. Входим в режим редактирования ячейки, ставим курсор в нужное место строки и нажимаем Alt+Enter.
я для получения месяцев(
Август 2015 г.
и
Сентябрь 2015 г.
) — такую:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(«/»&ПОДСТАВИТЬ(C2;»/»;ПОВТОР(«/»;999));999*1);1;999);»/»;»»)
В этой формуле в качестве разделителя используется слеш «/».
Разбор основных параметров формулы для применения в своих файлах
По сути, после нескольких примеров, основной принцип должен быть понятен. Но все же на примере последней формулы напомню про основные моменты и что надо сделать, чтобы применить практически к любой ситуации по извлечению слов:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(«/»&ПОДСТАВИТЬ(C2;»/»;ПОВТОР(«/»;999));999*1);1;999);»/»;»»)
- C2 — ячейка с текстом, последнее слово из которого надо извлечь.
- «/» — разделитель слов. Если для разделения слов используется не слеш, а запятая или точка — то во всей формуле, где встречается этот символ надо заменить его на нужный.
Если лень прописывать этот символ внутри формулы несколько раз, его можно записать в отдельную ячейку(скажем, G1) и в формуле указать ссылку уже на эту ячейку:
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(G1&ПОДСТАВИТЬ(C2;G1;ПОВТОР(G1;999));999*1);1;999);G1;»»)
Теперь для изменения символа надо будет изменить его один раз в ячейке G1 и формула «вытащит» нужное слово/строку, опираясь именно на этот символ. - *1 — число 1 — позиция слова с конца строки, которое необходимо «достать». 1 — первое с конца(т.е. последнее), 2 — предпоследнее и т.д.
Зная эти основные моменты достаточно будет в своем файле просто скопировать формулу выше и подставить в неё ссылку на нужную ячейку и указать требуемый разделитель.
Скачать пример:
Слово после последнего пробела.xls (29,5 KiB, 3 780 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
На чтение 5 мин. Просмотров 2k. Опубликовано 20.05.2021
Если вы хотите извлечь текст до или после пробела из списка, как показано ниже, есть ли у вас хороший способ сделать это? Позвольте мне рассказать вам несколько хитрых способов извлечения текста до или после пробела только в Excel.
- Извлечение текста до или после пробела или запятой с помощью формулы
- Извлечь текст до или после пробела или запятой с помощью Kutools for Excel
- Извлечь текст перед пробелом или после пробела или любых других разделителей
Вкладка Office Включите редактирование и просмотр с вкладками в Office и сделайте вашу работу намного проще …
Подробнее … Бесплатно Скачать …
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%.
- Повторное использование всего: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Подробнее … Бесплатная загрузка …
->
Содержание
- Извлечь текст до или после пробела с формулой в Excel
- Извлекать числа (или текст) только из одной ячейки /столбец в разные столбцы/строки
- Извлечь текст до или после пробела с помощью Kutools for Excel
- Извлекать текст до пробела и после пробела/запятой по отдельности одновременно
- Демонстрация: извлечение текста до или после пробела, запятой или других разделителей с помощью Kutools for Excel
- Относительные статьи:
Извлечь текст до или после пробела с формулой в Excel
Вы можете быстро извлечь текст перед пробелом из списка только с помощью формулы.
Выберите пустую ячейку и введите эту формулу = LEFT (A1, (FIND (“”, A1,1) -1)) (A1 – первая ячейка списка, из которого вы хотите извлечь текст) и нажмите Enter .
Советы :
(1) Если вы хотите извлечь текст до или после запятой, вы можете изменить “” на “,”.
(2) Если вы хотите извлечь текст только после пробела, используйте это формула = MID (A1, FIND (“”, A1) +1,256) .
(3) Этот метод извлекает текст по первому пробелу в указанных ячейках. Если в ячейке имеется более одного пробела, например “Katty J James”, формула = MID (A1, FIND (“”, A1) +1,256) извлечет все символы после первое пространство.
Формула слишком сложна для запоминания? Сохраните формулу как запись Auto Text для повторного использования одним щелчком мыши в будущем! Подробнее… Бесплатная пробная версия |
Извлекать числа (или текст) только из одной ячейки /столбец в разные столбцы/строки
Kutools for Excel расширяет свою утилиту Split Cells и поддерживает пакетное извлечение всех текстовых символов или чисел из одной ячейки/столбца в две столбцы/строки. Полнофункциональная бесплатная 30-дневная пробная версия!
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас
Извлечь текст до или после пробела с помощью Kutools for Excel
Если вы установили Kutools for Excel , вы можете использовать его утилиту Извлечь текст для быстрого извлечения текста до или после пробела только из списка.
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
1 . Выберите список и нажмите Kutools > Текст > Извлечь текст . См. Снимок экрана:
2 . Во всплывающем диалоговом окне введите * и пробел в поле Текст , нажмите Добавить , только отметьте это новое добавленное правило в разделе Извлечь список и нажмите кнопку ОК .
Совет . Если вы хотите извлечь текст только после пробела, введите пробел и следуйте за * в Текстовое поле на этом этапе.
3 . В другом всплывающем диалоговом окне укажите адрес первой ячейки диапазона назначения, в который будут выводиться извлеченные данные, и нажмите кнопку OK . До сих пор вы можете видеть только текст до того, как пространство было извлечено.
Примечание : если вы хотите извлечь текст до или после запятой, вы можете ввести * или, * в Текстовое поле.
Извлекать текст до пробела и после пробела/запятой по отдельности одновременно
Kutools for Excel поддерживает другую утилиту Split Cell , которая помогает нам извлекать текст перед пробелом/запятой и текст после пробела/запятой, и выводить их в разные ячейки. Пожалуйста, сделайте следующее:
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
1 . Выберите список текстовых строк, из которых вы будете извлекать текст, и нажмите Kutools > Текст > Разделить ячейки .
2 . В открывшемся диалоговом окне «Разделить ячейки» укажите тип разделения в разделе Тип , отметьте один разделитель в разделе Разделить по и нажмите кнопку ОК . См. Снимок экрана выше:
В нашем случае мы выбираем параметр Разделить на столбцы и параметр Пробел и нажимаем ОК . И теперь список текстовой строки разделен на столбцы или строки в зависимости от места. См. Снимок экрана ниже:
Примечание : если вам нужно извлеките текст до или после запятой, установите флажок Other в первом диалоговом окне “Разделить ячейки” и введите запятую “,” в поле ниже.
Демонстрация: извлечение текста до или после пробела, запятой или других разделителей с помощью Kutools for Excel
Kutools for Excel включает более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию !
Относительные статьи:
Разделить текст пробелом/запятой/разделителем в Excel
Извлечь первое/последнее/n-е слово из текстовой строки в Excel
Извлечь текст между запятыми/скобками/круглыми скобками в Excel