Перейти до основного матеріалу

Як знайти n-те входження (позицію) символу в текстовому рядку в Excel?

Наприклад, у комірці A1 є довге речення, див. Наступний знімок екрана. І тепер вам потрібно знайти 3-е входження або позицію символу "c" із текстового рядка в комірці A1. Звичайно, ви можете порахувати символів по одному, і отримати точний результат позиції. Однак тут ми збираємось представити кілька простих порад, щоб знайти n-те входження або положення конкретного символу з текстового рядка в комірці.


Знайти n-те входження (позицію) символу в клітинку за формулою Знайти

Є дві формули пошуку, які можуть допомогти швидко знайти n-те входження або позицію певного символу з текстового рядка в клітинках.

Наступна формула покаже вам, як знайти 3-е входження "c" у комірку A1.

Знайдіть Формулу 1

У пусту клітинку введіть формулу = FIND ("c", A1, FIND ("c", A1) +2).

doc-find-nth-position-of-text-string2

А потім натисніть Що натомість? Створіть віртуальну версію себе у ключ. Відобразилось положення третьої літери “c”.

примітки: Ви можете змінити 2 у формулі залежно від ваших потреб. Наприклад, якщо ви хочете знайти четверту позицію "c", ви можете змінити 2 на 3. А якщо ви хочете знайти першу позицію "c", ви повинні змінити 2 на 0.

Знайдіть формулу 2

У пусту клітинку введіть формулу = ЗНАЙТИ (CHAR (1), ЗАМІНИТИ (A1, "c", CHAR (1), 3)), і натисніть Що натомість? Створіть віртуальну версію себе у ключ

примітки: "3" у формулі означає третє "c", ви можете змінити його відповідно до своїх потреб.


Підрахуйте, скільки разів слово з’являється в комірці Excel

Якщо слово кілька разів з’являється в комірці, яку потрібно було підрахувати, зазвичай, ви можете порахувати їх по одному. Але якщо слово з’являється сотні разів, підрахунок вручну викликає клопоти. Підрахуйте, скільки разів з’являється слово функція в Kutools для Excel's Помічник формули група може швидко обчислити кількість випадків, коли слово з'являється в комірці. Безкоштовна пробна версія з усіма функціями за 30 днів!
 
Kutools для Excel: із понад 300 зручними надбудовами Excel, які можна безкоштовно спробувати без обмежень протягом 30 днів.

> Знайти n-те входження (позицію) символу в клітинку з VBA

Насправді ви можете застосувати макрос VB, щоб легко знайти n-те входження або позицію певного символу в одній комірці.

Крок 1: утримуйте клавішу ALT + F11 і відкриває Microsoft Visual Basic для додатків вікна.

Крок 2: клацніть Insert > Модуліта вставте наступний макрос у вікно модуля.

VBA: Знайдіть n-ту позицію персонажа.

Function FindN(sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer
Application.Volatile
FindN = 0
For J = 1 To N
FindN = InStr(FindN + 1, sInputString, sFindWhat)
If FindN = 0 Then Exit For
Next
End Function

Крок 3: Тепер, якщо ви хочете знайти точне входження позиції третього "с" у комірку А1, введіть формулу = ЗнайтиN ("c", A1,3), і натисніть кнопку Що натомість? Створіть віртуальну версію себе у ключ. Потім він одразу поверне точне положення в певній комірці.


Знайдіть n-те входження (позицію) символу в клітинку за допомогою Kutools для Excel

Якщо вам не подобається жодна з формул та VBA, ви можете спробувати зручний інструмент - Kutools для Excel, З його Formula групи, ви можете знайти утиліту - Знайти n-те входження символу для швидкого повернення n-ї позиції символу в комірці.

Kutools для Excel, з більш ніж 300 зручні функції, полегшує вам роботу. 

після безкоштовна установка Kutools для Excel, виконайте наведені нижче дії.

1. Виберіть комірку, для якої потрібно повернути результат, і натисніть Кутулс > Помічник формули > Помічник формули . Дивіться знімок екрана:

2. Потім у вискакуванні Помічник формули діалогове вікно, виконайте вказані нижче дії

1) Виберіть Пошук з розкривного списку Тип формули розділ;

2) Виберіть Знайдіть, де символ відображається N-м у рядку in Виберіть формулу розділ;

3) Виділіть клітинку, яка містить рядок, який ви використовуєте, а потім введіть вказаний символ та n-те входження в текстові поля в Введення аргументів .

3. клацання Ok. І ви отримаєте позицію n-го входження символу в рядок.

 

Найкращі інструменти продуктивності офісу

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

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!

 

Comments (28)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your formula to find the Nth occurrence of a character in a string does not work. Using your example, adding 2 to the results of the imbedded find ensures a starting position for the initial find of a position beyond the 1st two c's but changing the +2 to +3 does not yield the position of the 4th "c", it simply starts the search one character deeper into the string and the result is still the 3rd "c". To find the 4th "c" the search must begin beyond the position of the 3rd "c". I look forward to your new solution.
This comment was minimized by the moderator on the site
Hello, David

Yes, as you said, the first formula does not work correctly, you can apply the second formula:
=FIND(CHAR(1),SUBSTITUTE(A2,"c",CHAR(1),2))

Note: The number "2" in the formula means the second "c", if you want to get the third, fourth "c", just change the number 2 to 3,4 as you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Find formula1 is imperfect. It will be a great help if it is removed. I have lost lot of time trying for 4th occurance of "a" in "vedanarayanan" Thanks.
This comment was minimized by the moderator on the site
To handle the exception of the formula, you can use same with if and iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
This comment was minimized by the moderator on the site
"Substitute" lets you find the Nth occurrence of a term, so combine it with "find" as follows (where 5=5th occurrence):

=FIND(CHAR(1),SUBSTITUTE(A1,"c",CHAR(1),5))
This comment was minimized by the moderator on the site
Excellent! I am glad I scrolled up to review other comments after posting my own.
This comment was minimized by the moderator on the site
This is the correct answer! please replace this whole article with this one line of code.....
This comment was minimized by the moderator on the site
The first formula is completely useless and wrong but it works just correct for this example as the first and second "c"s are adjacent. The correct formula is:


For 2nd occurence -
=FIND("c",A1,FIND("c",A1)+1)

For 3rd occurence -
=FIND("c",A1,FIND("c",A1,FIND("c",A1)+1)+1) and so on...
This comment was minimized by the moderator on the site
Absolutely agree. The +2, or +3 etc.....entirely depends on the spacing between the n and (n+1) occurences of "c". Thus you would have to manually adjust for every cell if you were trying to copy this formula down a column for instance. Essentially the same as manually counting.


Ex. Let's try to find the 4th occurrence of "c" in cell A1 using the provided formula. Per the article we should use +3 in our nested FIND function to find the 4th occurrence.


Text in Cell A1:

"cab car abc cole cube"

Manually counting, the 4th occurrence is the "c" in cole in the character position of 13.


=FIND("c",A1,FIND("c",A1)+3)

The nested function, FIND("c",A1) will find the first occurrence of "c" in position 1.

Therefore,

FIND("c",A1)+3 = 1+3 = 4

Plugging that back into our formula,

=FIND("c",A1,FIND("c",A1)+3) = FIND("c",A1,1+3) = FIND("c",A1,4)

This new formula will look for the first occurrence of "c" beginning from character position 4. The 4th character in the string is the space just after cab.

Therefore, the formula will find the "c" in car and return the value of 5 for our formula. As we know from manually counting we are looking for 13 as the output.
This comment was minimized by the moderator on the site
The firs formula works correct in my version, in the note, it has explained how to find the third or forth or nth "c".

Note: You can change the 2 in the formula based on your needs. For example, if you want to find the fourth position of "c", you can change the 2 to 3. And if you want to find the first position of "c", you shuold change 2 to 0.
This comment was minimized by the moderator on the site
Try to find out the position of the second c with the first sentence of my above comment as the string using the first formula. You'll get to know how correct it is!
This comment was minimized by the moderator on the site
Hello all,

I have a text in an Excel cell " BY TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

I need a function to extract just "N08745987123546"

Thanks
This comment was minimized by the moderator on the site
Hello, do you want to extract the numbers after No and the number of numbers are fixed? If so, you can use Kutools for Exccel's Extract text function, type No????to extract.
This comment was minimized by the moderator on the site
HI ALL,
I have a text in an Excel cell " BY TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
I need a function to extract just "N053112345624801"
This comment was minimized by the moderator on the site
Formula 1 doesn't work on fourth, fifth, sixth etc. so (+3,4,5) will always show third position of letter "c" which is 19 second formula is working though.
This comment was minimized by the moderator on the site
Hello all, I have a text in an Excel cell "23 floyd lane, longville,KN 14564" I need a function to extract just "longville" Thanks
This comment was minimized by the moderator on the site
If you must use a function, try: =TRIM(MID(A1,SEARCH(",",A1)+1,SEARCH("!@#",SUBSTITUTE(A1,",","!@#",2))-SEARCH(",",A1)-1)) Otherwise, you might consider Data > Text to Columns > Delimited (using a comma as the separator).
This comment was minimized by the moderator on the site
Try this: =INDEX(SMALL(IF(MID(A1,MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),1)="c",MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),""),MATCH(ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),0)),2) where "c" is the character required and 2 is the position. Note this is an array formula.
This comment was minimized by the moderator on the site
this is simpler: =INDEX(SMALL(IF(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)="c",ROW(INDIRECT(1&":"&LEN(A1))),""),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))))),2)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations