Извличане на текст след последната инстанция на определен знак
Ако имате списък със сложни текстови низове, които съдържат няколко разделителя (вземете екранната снимка по-долу като пример, която съдържа тирета, запетая, интервали в данните на клетката) и сега искате да намерите позицията на последното появяване на тирето и след това извлечете подниза след него. В тази статия ще представя някои формули за справяне с тази задача.
- Формула 1: Извличане на подниза след последния екземпляр на конкретен разделител
- Формула 2: Извличане на подниза след последния екземпляр на конкретен разделител
Формула 1: Извличане на подниза след последния екземпляр на конкретен разделител
В Excel функцията RIGHT, която комбинира функциите LEN, SEARCH, SUBSTITUTE, може да ви помогне да създадете формула за решаване на тази задача.
1. За да извлечете подниза след последното появяване на знака тире, моля, въведете или копирайте следната формула в празна клетка:
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, моля, приложете следната формула:
Формула 2: Извличане на подниза след последния екземпляр на конкретен разделител
Ето още една проста формула, която е създадена от функциите TRIM, RIGHT, SUBSTITUTE, REPT и LEN, също може да ви помогне да решите тази задача в Excel.
1. Моля, копирайте или въведете формулата по-долу в празна клетка, където искате да получите резултата:
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 за Excel разполага с над 300 функции, Гарантираме, че това, от което се нуждаете, е само на един клик разстояние...
Раздел Office - Активиране на четене и редактиране с раздели в Microsoft Office (включително Excel)
- Една секунда за превключване между десетки отворени документи!
- Намалете стотиците кликвания на мишката за вас всеки ден, кажете сбогом на ръката на мишката.
- Увеличава продуктивността ви с 50% при преглеждане и редактиране на множество документи.
- Внася ефективни раздели в Office (включително Excel), точно като Chrome, Edge и Firefox.