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

Как да намеря първото, последното или n-то срещане на знак в Excel?

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

Да предположим, че имате следния списък от текстови низове, които включват знака „-“, и сега искате да получите последното или n-то срещане на знака „-“, имате ли някакви добри идеи за справяне с този проблем?


Намерете последното срещане на знак с формули

Ето някои формули, които могат да ви помогнат да намерите последната позиция на конкретен знак, моля, направете следното:

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

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

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

Забележка: В горните формули, A2 показва стойността на клетката, която искате да използвате. И "-” означава конкретния знак, чиято последна позиция искате да получите, можете да го промените на други знаци според вашите нужди.


Намерете последното срещане на знак с дефинирана от потребителя функция

За да получите позицията на последния знак „-“, можете също да създадете дефинирана от потребителя функция, направете следното:

1. Отворете своя работен лист, който искате да използвате.

2. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

3, След това кликнете Поставете > Модулии поставете следния макрос в Прозорец на модула.

VBA код: намерете последното срещане на символ

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

4. След това запазете и затворете този код, върнете се в работния лист и въведете тази формула =последна позициясимвол(A2,"-") в празна клетка освен вашите данни, вижте екранна снимка:

5. И след това плъзнете манипулатора за попълване до диапазона, от който се нуждаете, за да приложите тази формула, и появата на последния знак „-“ е извлечена от текстовите низове като следната екранна снимка:

Забележка: В горната формула: A2 е клетката, която съдържа данните, които искате да използвате, и „-” е знакът, от който се нуждаете, за да намерите последната си позиция, можете да ги промените според нуждите си.


Намерете първото или n-то срещане на знак с формула

За да получите първа или n-та позиция на конкретен знак, моля, приложете следната формула:

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

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

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

Забележка: В горните формули, A2 показва стойността на клетката, която искате да използвате, “-” означава конкретния знак, чиято позиция искате да получите, числото 2 означава указаното появяване на знака, който искате да получите.


Намерете първото или n-то срещане на конкретен знак с лесна функция

с Kutools за ExcelЕ Намерете къде се появява знакът Nth в низ помощна програма, можете бързо и лесно да получите позицията на първия или n-тия специфичен знак.

Забележка:За да приложите това Намерете къде се появява знакът Nth в низ, първо, трябва да изтеглите Kutools за Excelи след това приложете функцията бързо и лесно.

След инсталиране Kutools за Excel, моля, направете следното:

Например, искам да получа второто появяване на знака „-“, моля, направете следното:

1. Щракнете върху клетка, където искате да поставите резултата.

2, След това кликнете Kutools > Помощник за формула > Помощник за формула, вижте екранна снимка:

3. В Помощник за формули диалогов прозорец:

  • Изберете Търсене опция от Формула Тип падащ списък;
  • След това изберете Намерете къде се появява знакът Nth в низ от Изберете фрула списъчна кутия;
  • в Въвеждане на аргументи изберете клетката, която съдържа текстовия низ, който искате да използвате, и въведете знака, чиято позиция искате да получите, накрая посочете числото, което искате да получите позицията на знака.

4, След това кликнете Ok и след това плъзнете манипулатора за запълване надолу до клетките, които искате да получите на позицията, за да получите следния резултат, както ви е необходим.

Изтеглете и изпробвайте безплатно Kutools за Excel сега!


Още относителни статии:

  • Извличане на всички освен първата/последната дума в Excel
  • За да извлечете всички думи от клетка, но първата или последната дума, може да ви помогне да премахнете нежеланата дума, от която се нуждаете, в този случай, разбира се, можете да копирате желаните думи и да ги поставите в друга клетка една по една. Но това ще бъде отегчено, ако има няколко стойности на клетка, които трябва да бъдат извлечени, с изключение на първата или последната дума. Как можете да извлечете всички думи с изключение на първата или последната в Excel бързо и лесно?
  • Извличане на знаци отдясно наляво в клетка
  • Тази статия ще говори за изтегляне или извличане на символи отдясно в клетка, докато се достигне интервал, за да получите следния резултат в работния лист на Excel. Една полезна формула в тази статия може да реши тази задача бързо и лесно.
  • Намерете позицията на първата малка буква
  • Ако имате списък с текстови низове, които съдържат както главни, така и малки букви, сега искате да знаете позицията на първата малка буква от тях в работния лист на Excel. Как бихте могли да получите резултата бързо, без да ги броите един по един?

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

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Using LET to define variables. 
Find Last occurrence of;
=LET(strFind,"-",strFlag,"¤",FIND(strFlag,SUBSTITUTE(A2,strFind,strFlag,LEN(A2)-LEN(SUBSTITUTE(A2,strFind,""))),1))
Text to right of;
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1)))
This gives an error if strFind is not in the target. This can be solved by wrapping FIND in an IFERROR. 
LET(strTarget,A2,strFind,"-",strFlag,"¤",IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0))
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0)))
This will return the existing string if strFind is not found. If this is not desired use the find separately then test for result>0.
This comment was minimized by the moderator on the site
Thank You, great work !! Best Regards Anders
This comment was minimized by the moderator on the site
Thank you for these formulas. Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations