Excel подстрока из строки - Учим Эксель

Крайнее слово

Обычная, на 1-ый взор, задачка с не естественным решением: извлечь из строки текста крайнее слово. Ну либо, в общем случае, крайний фрагмент, отделенный данным символом-разделителем (пробелом, запятой и т.д.) Иными словами, нужно воплотить реверсивный поиск (от конца к началу) в строке данного знака и извлечь позже все знаки справа от него.

Давайте разглядим обычно несколько методов решения на выбор: формулами, макросами и через Power Query.

Метод 1. Формулы

Чтоб проще было осознать сущность и механику формулы, начнем мало издалека. Поначалу увеличим количество пробелов меж словами в нашем начальном тексте до, к примеру 20 штук. Создать это можно с помощью функции подмены ПОДСТАВИТЬ (SUBSTITUTE) и функции повтора данного знака N-раз — ПОВТОР (REPT) :

Добавляем пробелы между словами

Сейчас отрежем от конца получившегося текста 20 знаков при помощи функции ПРАВСИМВ (RIGHT) :

Берем последние 20 знаков

Уже теплее, да? Осталось убрать излишние пробелы при помощи функции СЖПРОБЕЛЫ (TRIM) и задачка будет решена:

Убираем лишние пробелы

В британской версии наша формула будет смотреться, соответственно:

=TRIM(RIGHT(SUBSTITUTE(A1;» «;REPT(» «;20));20))

Надеюсь, понятно, что в принципе не непременно вставлять конкретно 20 пробелов — подойдет хоть какое количество, только бы оно было больше, чем длина самого длинноватого слова в начальном тексте.

И если начальный текст необходимо поделить не по пробелу, а по другому символу-разделителю (к примеру, по запятой), то нашу формулу нужно будет немножко подправить:

Если вместо пробела запятая

Метод 2. Макрофункция

Задачку извлечения крайнего слова либо фрагмента из текста также можно решить при помощи макросов, а конкретно — написать функцию реверсивного поиска в Visual Basic, которая будет созодать то, что нам необходимо — находить заданную подстроку в строке в оборотном направлении — от конца к началу.

Нажмите сочетание кнопок Alt + F11 либо клавишу Visual Basic на вкладке Разраб (Developer) , чтоб открыть редактор макросов. Потом добавьте новейший модуль через меню Insert — Module и скопируйте туда последующий код:

Сейчас можно сохранить книжку (в формате с поддержкой макросов!) и пользоваться сделанной функцией в последующем синтаксисе:

=LastWord(txt ; delim ; n)

  • txt — ячейка с начальным текстом
  • delim — символ-разделитель (по дефлоту — пробел)
  • n — какое по счету слово с конца нужно извлечь (по дефлоту — 1-ое с конца)

Применение функции LastWord

При всех конфигурациях в начальном тексте в дальнейшем наша макрофункция будет «на лету» пересчитываться, как и неважно какая обычная функция листа Excel.

Метод 3. Power Query

Power Query — это бесплатная надстройка от Microsoft для импорта данных в Excel из фактически всех источников и следующей трансформации загруженных данных в хоть какой вид. Мощь и крутизна данной нам надстройки так значительны, что Microsoft встроила все ее способности в Excel 2016 по дефлоту. Для Excel 2010-2013 Power Query можно безвозмездно скачать отсюда.

Наша задачка по отделению крайнего слова либо фрагмента через данный разделитель при помощи Power Query решается весьма просто.

Поначалу превратим нашу таблицу с данными в умную при помощи сочтания кнопок Ctrl + T либо команды Основная — Форматировать как таблицу (Home — Format as Table) :

Форматировать как таблицу

Потом загрузим сделанную «умную таблицу» в Power Query при помощи команды Из таблицы / спектра (From table/range) на вкладке Данные (если у вас Excel 2016) либо на вкладке Power Query (если у вас Excel 2010-2013):

Загружаем таблицу в Power Query

В открывшемся окне редактора запросов на вкладке Преобразование (Transform) выберем команду Поделить столбец — По разделителю (Split Column — By delimiter) и потом остается задать символ-разделитель и избрать опцию Самый правый разделитель, чтоб разрубить не все слова, а лишь крайнее:

Делим по правому разделителю

Опосля нажатия на ОК крайнее слово будет отделено в новейший столбец. Ненадобный 1-ый столбец можно удалить, щелкнув по его заголовку правой клавишей мыши и выбрав Удалить (Delete ) . Также можно переименовать оставшийся столбец в шапке таблицы.

Результаты можно выгрузить назад на лист, используя команду Основная — Закрыть и загрузить — Закрыть и загрузить в . (Home — Close & Load — Close & Load to. ) :

Выгружаем результаты на лист

И в итоге получаем:

Последнее слово из текста

Вот так — недорого и сурово, без формул и макросов, практически не касаясь клавиатуры 🙂

Если в дальнейшем начальный перечень поменяется, то довольно будет правой клавишей мыши либо сочетанием кнопок Ctrl + Alt + F5 обновить наш запрос.

Substring in Excel

Substring function is a pre-built integrated function in excel that is categorized under TEXT function. Substring means extracting a string from a combination of string, for example, we have a string as “I am a Good Boy” and we want to extract Good from the given string in such scenarios we use extracting substring, there is no inbuilt function to extract a substring in excel but we use other functions such as Mid function or left and right function.

You are free to use this image on your website, templates etc, Please provide us with an attribution link How to Provide Attribution? Article Link to be Hyperlinked
For eg:
Source: Substring in Excel (wallstreetmojo.com)

3 Types of Substring Functions

  1. LEFT Substring Function
  2. RIGHT Substring Function
  3. MID Substring Function

Let us discuss each one of them in detail.

Интересно почитать:  Как в excel построить кривую нормального распределения

#1 – LEFT Substring Function

It extracts a given specific number of characters from the left side or first character of a supplied text string.

The LEFT function syntax or formula has the below-mentioned arguments:

  • text: (Compulsory or required parameter) It is the text string that contains the characters where you want to extract
  • num_chars: (Optional parameter) It is the number of characters from the left side of the Text string which you want to extract.
  • For Example, =LEFT(“application”,3) returns the 3 number of characters from left side i.e. “app”.

Points to Remember about LEFT Function

  • In the left & right function, Num_chars must be equal to OR greater than zero. Otherwise, it returns #Value error
  • If the num_chars argument in the left or right function is greater than the length of text, LEFT returns all of the text. For Example, =LEFT (“FUNCTION,” 25) returns “FUNCTION.”
  • If the num_chars argument in the left or right function is omitted, it will consider or assume 1, by default. For Example, =LEFT(“Swift”) returns “S.”

#2 – MID Substring Function

It extracts a given specific number of characters from the middle part of a supplied text string.

All the argument is compulsory & required parameters

The MID function syntax or formula has the below-mentioned arguments:

  • Text: It is the text string that contains the characters where you want to extract
  • start_num: specifies the position of the first character or starting position of the substring from where you want to begin
  • num_chars: It is the number of characters from the middle part of the text string you want to extract. (begins with start_num).
  • For Example, =MID(“majori”,2,5) returns the substring from 2 nd character and 5 letters or alphabet from 2 nd character i.e. “ajori”.

Points to Remember

  • If start_num is greater than the length of the text, then the MID function returns an empty value
  • If start_num is less than 1, then the MID function returns #VALUE! error.
  • If num_chars is a negative value, then the MID function returns #VALUE! error.

#3 – RIGHT Substring Function

It extracts a given specific number of characters from the RIGHT side of a supplied text string.

The RIGHT function syntax or formula has the below-mentioned arguments:

  • Text: (Compulsory or required parameter) It is the Text string that contains the characters where you want to extract
  • num_chars: (Optional parameter) It is the number of characters from the RIGHT side of the text string you want to extract.
  • For Example, =RIGHT(“application”,6) returns the 6 number of characters from right side i.e. “cation”.

How to use the SUBSTRING Function in Excel?

Let’s look out how the SUBSTRING functions work in Excel.

Example #1 – Extract a Substring in Excel Using LEFT Function

In the below-mentioned example, Cell “B3” contains employee id with the name. Here I need to extract only employee ID with the help of LEFT FUNCTION

Substring in Excel - Example1

Let’s apply the “LEFT” function in cell “C3”. Type =LEFT( in the cell “C3” where arguments for the LEFT function will appear. i.e. =LEFT (text, [num_chars]) it needs to be entered

Text: It is the text string that contains the characters where you want to extract substring excel, i.e., “B3” or “648 MANOJ.”

Substring in Excel - Example1-2

num_chars: It is the number of characters from the left side of the text string you want to extract. Here employee id contains 3 numbers, so I want to extract the first three numbers only

Substring in Excel - Example1-3

Click the ENTER key after entering all the LEFT function arguments. i.e. =LEFT(B3,3)

It extracts the first 3 characters from the text, i.e., 648

Example #2 – Extract a Substring in Excel Using RIGHT Function

In the below-mentioned example, it contains domain or website names. Here I need to extract the last three characters with the help of the RIGHT function

Let’s apply the “RIGHT” function in cell “C3”. Type =RIGHT( in the cell “C3” where arguments for the RIGHT function will appear. i.e. =RIGHT (text, [num_chars]) it needs to be entered

Substring in Excel - Example 2-1

Text: It is the text string that contains the characters where you want to extract substring excel, i.e., “B3” or “GMAIL.COM.”

Substring in Excel - Example 2-2

num_chars: It is the number of characters from the right side of the text string you want to extract. Here all the website name ends with “COM,” so I want only the last three characters

Substring in Excel - Example 2-3

Click the enter key after entering all the RIGHT function arguments. i.e. =RIGHT(B3,3).

Right function

Similarly, it is applied to other cells, or else you can also you can use the drag&drop option to get the desired output

It extracts the last 3 characters from the text, i.e., COM

Example #3 – Extract a Substring in Excel Using MID Function

In the below-mentioned example, Cell “B3” contains PHONE NUMBER with area code. Here I need to extract only area code with the help of MID FUNCTION

Интересно почитать:  Эксель зафиксировать строку

Example 3

Let’s apply the “MID” function in cell “C3”. Type =MID( in the cell “C3” where arguments for Mthe ID function will appear. i.e. =MID(text,start_num,num_chars) it needs to be entered

Substring in Excel - Example 3-1

Text: It is the text string that contains the characters where you want to extract substring excel, i.e., “G14” or “(248)-860-4282.”

Substring in Excel - Example 3-2

start_num: It specifies the position of the first character or starting position of the substring from where you want to begin, i.e., In the phone number, numbers in the bracket are the area code. I want only those numbers which are inside the bracket, i.e., 248. Here number inside the bracket begins from 2nd position.

Substring in Excel - Example 3-3

num_chars: It is the number of characters from the middle part of the text string you want to extract. (it begins with start_num). I want only those 3 numbers where are area code present inside the bracket, i.e., 3 characters

Substring in Excel - Example 3-3

Click the enter key after entering all the MID function arguments. i.e. =MID(B3,2,3)

mid function

It extracts the 3 characters or numbers which are present inside the bracket, i.e., 248

Things to Remember

Substring in Excel Function has wide applications i.e.

  • It is used to obtain the domain name from an email address with the help of the right function
  • It is used to obtain the first, middle & last name from the full name with substring functions
  • It is used to remove the trailing slash in Web URLs
  • It is used to extract country or state code from the phone number

Recommended Articles

This has been a guide to SUBSTRING in Excel. Here we discuss how to use Substrings functions in Excel – LEFT, MID, and RIGHT along with excel examples and downloadable excel templates. You may also look at these useful excel tools –

Excel получить подстроку от N-й позиции до конца строки

Итак, как получить подстроку от N-й позиции до конца строки?

Вход в ячейку A1 Name: Thomas B.

Ожидаемый итог: Thomas B.

Я понимаю некий метод создать это, но мне любопытно, есть ли остальные стильные методы, не считая их? (что-то вроде =RIGHT(A1, -6) . )

=MID(A1, 6, 999999) //999999 смотрится не весьма отлично

=MID(A1, 6, LEN(A1) — 5) //must вычислить 2 раза, поначалу получить len, потом получить подстроку, кажется, очень много работает?

4 ответа

  • Как я могу получить подстроку из позиции N до крайнего знака в Ruby 1.8.7?

Я желал бы получить подстроку из строки от позиции N до конца строки. Как это создать в Ruby?

Допустим, у меня есть строчка blblnblbl etc . Я понимаю, что должен начать с позиции $pos . Я должен избрать все до конца. Я не могу сиим пользоваться: substr($string, $pos, strpos($string, n, $pos)) Mac не употребляет n в качестве разделителя. Что все-таки мне созодать?

Ну, оба ваших способа уже работают, но вы также сможете употреблять этот:

(у вас практически был этот вопросец в вашем своем вопросце)

(функция FIND() возвращает числовую позицию строки поиска, потому непревзойденно подступает для выполнения динамических подстрок)

ЗАМЕНЯТЬ

Как уже писал Доминик: — Почему бы для вас просто не поменять 1-ые 6 знаков пустой строчкой?

Я провел некое измерение времени, но разница составляет наименее секунды при 50000 записях (для LEFT , MID , REPLACE & SUSTITUTE )., так что, боюсь, ELEGANCE это все, что вы получите.

Маленькой Кабинет

Я сделал это исследование из-за того, что, когда вы гласите из знака n-th, ваш n -й знак равен 7 (ваши MID -е неверны), но вы желаете удалить 1-ые n-1 ( 6 ) знаков. Таковым образом, зависимо от того , как вы сформулируете собственный вопросец, у вас быть может иной подход в RIGHT либо MID , и вы будете держать в голове REPLACE и SUBSTITUTE , а сможете и не держать в голове.

enter image description here

Маленькие формулы исследования для A1 (*) и B1 (#, ?, *)

Получить строчку от знака N-th до конца, к примеру, 7

Удалите N первых знаков строки, к примеру 6

Получить строчку Опосля знака, к примеру » «

Получить строчку Опосля строки, к примеру «: «

Вспять, чтоб удалить N первых знаков строки, к примеру 6

  • PHP: получить N-й знак из конца строки

Я уверен, что должен быть обычной метод получить N-й знак из конца строки. К примеру: $NthChar = get_nth(‘Hello’, 3); // will result in $NthChar=’e’

Я желаю взять подстроку из строки от конца строки до первой точки в Excel. От: de.hybris.platform.jdbcwrapper.PreparedStatementImpl de.hybris.platform.persistence.GenericBMPBean$FindByPKListFinderResult de.hybris.platform.cache.AbstractCacheUnit de.hybris.platform.cache.AbstractCacheUnit.

Иная возможность состоит в том, что вы создаете константу со значением 2^31-1 (=2147483647), которое является наибольшим целочисленным значением со знаком в 32-разрядных системах, и даете ей прекрасное имя, к примеру MaxInt, тогда ваша 1-ая формула тоже будет действенной и прекрасной:

Вы сможете добавить имя при помощи Ctrl+F3. Если вы заинтересованы в стремительных вычислениях, предоставление его как 2147483647, а не 2^31-1 может иметь некое (весьма маленькое) преимущество.

Интересно почитать:  Excel число преобразовать в строку

Почему бы для вас просто не поменять 1-ые 6 знаков пустой строчкой?

Похожие вопросцы:

У меня есть 2 строки, как показано ниже: String paramNum = 99999256; String opCode = 99999; На String paramNum я желаю извлечь ту часть строки, которая возникает опосля строкового значения.

У меня есть струна: A1111A2222A3333A4444 как мне получить строчку: A1111 Мне необходимо иметь возможность получить его, указав количество знаков ‘A’ с конца и удалив эту часть из общей строки. EDIT.

Я пробую вынудить одну подстроку идти от начала строки до определенной позиции, а другую-от конца крайней позиции до конца строки. Но я не понимаю, каковой будет конец. это будет несколько длин. Есть.

Я желал бы получить подстроку из строки от позиции N до конца строки. Как это создать в Ruby?

Допустим, у меня есть строчка blblnblbl etc . Я понимаю, что должен начать с позиции $pos . Я должен избрать все до конца. Я не могу сиим пользоваться: substr($string, $pos, strpos($string, n.

Я уверен, что должен быть обычной метод получить N-й знак из конца строки. К примеру: $NthChar = get_nth(‘Hello’, 3); // will result in $NthChar=’e’

Я желаю взять подстроку из строки от конца строки до первой точки в Excel. От: de.hybris.platform.jdbcwrapper.PreparedStatementImpl.

В истинное время у меня есть строчка, содержащая путь к файлу изображения, к примеру.

Я желаю получить подстроку из пути от конца до определенного знака, возьмем, к примеру, последующий путь: my_path = /home/Desktop/file.txt Мое намерение заключается в том, чтоб создать что-то вроде.

Я пробую извлечь N-й знак вперед в строке, используя R. Вот мои данные: StringField example_string1 example_string2 example_string3 example_string4 example_string5 example_string6 example_string7.

Новейшие функции работы со строчками

Мы расширили набор функций, созданных для работы со строчками. Мы это сделали для того, чтоб отдать для вас наиболее развитые инструменты для разбора строковых данных. Новейшие функции будут комфортны и полезны в технологических задачках анализа текста. В задачках, связанных с разбором текста, который содержит данные в форматированном виде. Это быть может анализ каких-либо файлов, приобретенных от оборудования, либо, к примеру, анализ технологического журнальчика.

Все деяния, которые делают новейшие функции, вы могли делать и ранее. При помощи наиболее либо наименее сложных алгоритмов, написанных на интегрированном языке. Потому новейшие функции не дают для вас каких-либо принципно новейших способностей. Но они разрешают уменьшить количество кода, создать код наиболее обычным и понятным. А не считая этого они разрешают убыстрить выполнение действий. Поэтому что функции, реализованные в платформе, работают, естественно же, резвее, чем аналогичный метод, написанный на интегрированном языке.

Функция форматирования СтрШаблон()

Эта функция подставляет характеристики в строчку. Потребность в таком преобразовании нередко возникает, к примеру, при выводе предупреждающих сообщений. Синтаксис данной нам функции смотрится последующим образом:

<Шаблон> — это строчка, в которую необходимо подставить представления характеристик.

<Значение1> , . <Значение10> — это характеристики (очень — 10), представления которых необходимо подставить в строчку.

Чтоб указать конкретное пространство в шаблоне, в которое необходимо выполнить подстановку, необходимо употреблять маркеры вида %1, . %10. Количество маркеров, задействованных в шаблоне, и количество характеристик, содержащих значения, должны совпадать.

К примеру, результатом выполнения такового оператора:

Ошибка в данных в строке 2 (требуется тип Дата)

Функция работы со строчками СтрСравнить()

Эта функция ассоциирует две строки без учёта регистра. К примеру, так:

Это действие вы могли выполнить и ранее при помощи объекта СравнениеЗначений:

Но внедрение новейшей функции смотрится наиболее обычным. А не считая этого функция, в отличие от объекта СравнениеЗначений, работает и в узком клиенте, и в веб-клиенте.

Функции работы со строчками СтрНачинаетсяС(), СтрЗаканчиваетсяНа()

Эти функции определяют, начинается ли строчка с обозначенной подстроки, завершается ли строчка обозначенной подстрокой. Метод этих функций нетрудно воплотить на интегрированном языке, но их наличие дозволяет писать наиболее незапятнанный и понимаемый код. И работают они резвее.

К примеру, их комфортно употреблять в операторе Если:

Функции работы со строчками СтрРазделить(), СтрСоединить()

Эти функции делят строчку на части по обозначенному разделителю. Либо напротив, соединяют несколько строк в одну, вставляя меж ними избранный разделитель. Они комфортны для сотворения либо анализа логов, технологического журнальчика. К примеру, запись технологического журнальчика вы сможете просто разобрать на части, подходящие для предстоящего анализа:

Функция работы со строчками СтрНайти()

Заместо старенькой функции Отыскать() мы реализовали новейшую функцию, которая имеет доп способности:

  • Поиск в различных направлениях (с начала, с конца);
  • Поиск с обозначенной позиции;
  • Поиск вхождения с обозначенным номером (2-ое, третье и т.д.).

Практически она дублирует способности старенькой функции. Так изготовлено для того, чтоб сохранить сопоставимость с модулями, скомпилированными в старенькых версиях. Старенькую функцию Отыскать() рекомендуется больше не употреблять.

Ниже приведён пример, использующий новейшие способности поиска. Поиск в оборотном направлении комфортен тогда, когда для вас нужен крайний фрагмент формализованной строки, к примеру, полное название файла в URL. А поиск с обозначенной позиции помогает в тех вариантах, когда необходимо находить в известном фрагменте, а не во всей строке.

Ссылка на основную публикацию
Adblock
detector