Прескочи на основното съдържание

Извличане на текст след последната инстанция на определен знак

Автор: Xiaoyang Последна промяна: 2020-02-24

Ако имате списък със сложни текстови низове, които съдържат няколко разделителя (вземете екранната снимка по-долу като пример, която съдържа тирета, запетая, интервали в данните на клетката) и сега искате да намерите позицията на последното появяване на тирето и след това извлечете подниза след него. В тази статия ще представя някои формули за справяне с тази задача.


Формула 1: Извличане на подниза след последния екземпляр на конкретен разделител

В Excel функцията RIGHT, която комбинира функциите LEN, SEARCH, SUBSTITUTE, може да ви помогне да създадете формула за решаване на тази задача.

1. За да извлечете подниза след последното появяване на знака тире, моля, въведете или копирайте следната формула в празна клетка:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2. След това плъзнете манипулатора за запълване надолу към клетките, към които искате да приложите тази формула, и ще получите резултата, както е показано на екранната снимка по-долу:


Обяснение на формулата:

1. LEN(A2)-LEN(ЗАМЕСТЯВАНЕ(A2,"-","")): Тази част се използва за получаване на броя на знаците за тире в клетка A2.

  • LEN(A2): Тази функция LEN връща общия брой знаци в клетка A2. Ще се върне: 44.
  • ЗАМЕСТВАНЕ(A2,"-",""): Тази функция SUBSTITUTE се използва за замяна на всички тирета с нищо. И ще получите следния резултат: „Вмъкване на изтрити редове, листове, изображения, формули".
  • LEN(ЗАМЕСТ(A2,"-",""): Вземете общата дължина на текстовия низ в клетка A2 без тирета.
  • LEN(A2)-LEN(ЗАМЕСТЯВАНЕ(A2,"-","")): Извадете дължината на текстовия низ без тирета от общата дължина на низа, за да получите номера на тирето и това ще получи 2.

2. ЗАМЕНЯНЕ (A2,"-","#",LEN(A2)-LEN(ЗАМЕСТВАНЕ(A2,"-",""))): Тази функция SUBSTITUTE се използва за замяна на последното появяване на тирето, върнато от формулата на първата част, със знак #. И ще получите този резултат: “Вмъкване-Изтриване#редове, листове, изображения, формули".

3. ТЪРСЕНЕ("#",ЗАМЕСТВАНЕ(A2,"-","#",LEN(A2)-LEN(ЗАМЕСТВАНЕ(A2,"-",""))))= SEARCH("#", "Вмъкване-Изтриване#редове, листове, изображения, формули"): Тази функция SEARCH ще върне позицията на знака # в текстовия низ, върнат от функцията SUBSTUTTE. Ще получи номер 14.

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))): Тази част от формулата ще получи колко знака има след последното тире. Това ще получи числото 30.

5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= ДЯСНО (A2, 30): Най-накрая функцията RIGHT се използва за извличане на 30 знака, които се връщат от формулата в стъпка 4 от дясната страна на текстовия низ в клетка A2.


Забележки:

1. Ако трябва да извлечете текста след последното появяване на други разделители, просто трябва да промените знака за тире с друг разделител, както ви е необходимо.

2. Ако няма конкретния разделител в текстовия низ, горната формула ще получи стойност за грешка, вижте екранната снимка:

За да коригирате тази грешка, можете да приложите горната формула към функцията IFERROR, моля, приложете следната формула:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)


Формула 2: Извличане на подниза след последния екземпляр на конкретен разделител

Ето още една проста формула, която е създадена от функциите TRIM, RIGHT, SUBSTITUTE, REPT и LEN, също може да ви помогне да решите тази задача в Excel.

1. Моля, копирайте или въведете формулата по-долу в празна клетка, където искате да получите резултата:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2. След това плъзнете манипулатора за запълване надолу към клетките, към които искате да приложите тази формула, и всички поднизове след последните тирета са извлечени, както е показано на екранната снимка по-долу:


Обяснение на формулата:

1. LEN(A2): Тази функция LEN връща общия брой знаци в клетка A2. Това ще бъде разпознато като аргумент num_chars във функцията RIGHT. Ще се върне: 44.

2. SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))):

  • REPT(" ",LEN(A2): Тази функция REPT се използва за получаване на брой интервални низове въз основа на дължината на клетка A2.
  • ЗАМЕНЯНЕ(A2,"-",REPT(" ",LEN(A2))): Тази функция SUBSTITUTE ще замени знаците за тире в клетка A2 с интервални низове, които се връщат от функцията REPT.

Тази част от формулата ще бъде разпозната като текстов аргумент във функцията RIGHT.

3. RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)): Тази функция RIGHT ще получи текста от дясната страна на текстовия низ, върнат от функцията SUBSTITUTE.

4. TRIM(): Тази функция TRIM се използва за премахване на всички допълнителни интервали и оставяне само на един интервал между думите.


Използвани относителни функции:

  • RIGHT:
  • Функцията RIGHT извлича определен брой знаци от дясната страна на текстовия низ.
  • SEARCH:
  • Функцията ТЪРСЕНЕ може да ви помогне да намерите позицията на конкретен знак или подниз от даден текст.
  • LEN:
  • Функцията LEN връща броя знаци в текстов низ.
  • SUBSTITUTE:
  • Функцията SUBSTITUTE на Microsoft Excel замества текст или знаци в текстов низ с друг текст или знаци.
  • TRIM:
  • Функцията TRIM премахва всички допълнителни интервали от текстов низ и запазва само единични интервали между думите.
  • REPT:
  • Функцията REPT се използва за повтаряне на знаците определен брой пъти.

Още статии:

  • Извличане на няколко реда от клетка
  • Ако имате списък с текстови низове, които са разделени с прекъсвания на редове (което се случва чрез натискане на клавишите Alt + Enter при въвеждане на текста), и сега искате да извлечете тези редове текст в множество клетки, както е показано на екранната снимка по-долу. Как бихте могли да го решите с формула в Excel?
  • Извличане на N-та дума от текстов низ в Excel
  • Ако имате списък с текстови низове или изречения, сега искате да извлечете конкретната n-та дума от списъка, както е показано на екранната снимка по-долу. В тази статия ще представя някои методи за решаване на тази задача в Excel.
  • Извличане на текст между скоби от текстов низ
  • Ако в текстовия низ има част от текста, ограден със скоби, сега трябва да извлечете всички текстови низове между скобите, както е показано на следната екранна снимка. Как бихте могли да решите тази задача в Excel бързо и лесно?
  • Извличане на подниз от текстов низ в Excel
  • Може да е обичайна задача за вас, че трябва да извлечете поднизове от текстови низове, в Excel няма директна функция за извършване на това, но с помощта на функциите LEFT, RIGHT, MID и SEARCH можете да извлечете видове поднизове, колкото ви трябват.

Най-добрите инструменти за производителност в офиса

Kutools за Excel - помага ви да се откроите от тълпата

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати  |  Изтриване на празни редове  |  Комбинирайте колони или клетки без загуба на данни  |  Кръг без формула ...
Супер VLookup: Множество критерии  |  Множество стойности  |  В много листове  |  Размито търсене...
адв. Падащ списък: Лесен падащ списък  |  Зависим падащ списък  |  Падащ списък с множество избори...
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  Сравнете колони с Изберете Същите и различни клетки ...
Препоръчани функции: Мрежов фокус  |  Изглед на дизайна  |  Голям формула бар  |  Мениджър на работни книги и листове | Библиотека с ресурси (Автоматичен текст)  |  Избор на дата  |  Комбинирайте работни листове  |  Шифроване/декриптиране на клетки  |  Изпращайте имейли по списък  |  Супер филтър  |  Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи ...)  |  50 + Графика Видове (диаграма на Гант ...)  |  40+ Практичен формули (Изчислете възрастта въз основа на рождения ден ...)  |  19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя ...)  |  12 Конверсия Инструменти (Числа към думи, Валутен обмен ...)  |  7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделете клетки на Excel ...)  |  ... и още

Kutools за Excel разполага с над 300 функции, Гарантираме, че това, от което се нуждаете, е само на един клик разстояние...

Описание


Раздел Office - Активиране на четене и редактиране с раздели в Microsoft Office (включително Excel)

  • Една секунда за превключване между десетки отворени документи!
  • Намалете стотиците кликвания на мишката за вас всеки ден, кажете сбогом на ръката на мишката.
  • Увеличава продуктивността ви с 50% при преглеждане и редактиране на множество документи.
  • Внася ефективни раздели в Office (включително Excel), точно като Chrome, Edge и Firefox.
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how do you get everything after the last Nth character when there is more 'N' character that you want. Example.

1-2-3-4.ip.linodeusercontent.com.
1.2.3.4.ipv4.supernova.orange.pl.

i want to get the last bit after the IP addresses. So it ends up like this
ip.linodeusercontent.com.
pv4.supernova.orange.pl.
This comment was minimized by the moderator on the site
where "." is my Nth character
This comment was minimized by the moderator on the site
i really what to count the Nth character from the right 2 or 3 times and get everything after that, not counting the Nth character from the left because that varies. such a pain with no skills...lol
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations