Note: The other languages of the website are Google-translated. Back to English

Як знайти 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 для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (25)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Знайти Формулу 1 не вийде. Третій параметр функції Find — це індекс, з якого має початися пошук (наприклад: перші x символів рядка ігноруються). тобто якщо рядок містить літеру c з індексами 1, 5 і 10, результати будуть такими: =FIND("c",A1,1) знайде перший c =FIND("c",A1,2) через = FIND("c",A1,5) знайде друге c =FIND("c",A1,6) через =FIND("c",A1,10) знайде третє c. все, що вище, нічого не знайде.
Цей коментар був мінімізований модератором на сайті
Дякуємо, що знайшли цю помилку, вибачте, що формула 1 неправильна, має бути правильною формулою = FIND ("c", A1, FIND ("c", A1) +2) ,і якщо ви хочете знайти першу букву "c", вам просто потрібно змінити 2 на 0.
Цей коментар був мінімізований модератором на сайті
Як вказує DdW, '+2' або '+0' або те, що у вас є, є 'твердо закодованою' позицією символу; Ви вже повинні знати, де була "c", щоб знайти його. Формула 2, однак, є точною: ЗАМІНИТЕ n-й екземпляр цільового рядка на унікальний символ, який інакше не з’являтиметься в решті тексту, а потім ЗНАЙДІТЬ цей унікальний символ.
Цей коментар був мінімізований модератором на сайті
Я можу знайти другий екземпляр, але як щодо 3-го, 4-го та 'n'-го. Я не можу отримати 3-й примірник (а також 4-й). У мене є дані, які містять від 50 до 60 екземплярів. то що мені робити?
Цей коментар був мінімізований модератором на сайті
sanjeev, як я казав два роки тому, використовуйте формулу 2: =FIND(CHAR(1),SUBSTITUTE("LOOK_IN","LOOK_FOR",CHAR(1),INST_NUM)) Де LOOK_IN - це рядок (або клітинка), який ви повторний пошук у; LOOK_FOR – це рядок, який ви шукаєте; а INST_NUM – ​​це цілочисельний екземпляр LOOK_FOR, який потрібно ідентифікувати. Отже, =FIND(CHAR(1),SUBSTITUTE("HELLO WORLD","L",CHAR(1),3) поверне 10 (позиція третього "L").
Цей коментар був мінімізований модератором на сайті
Шановні всі, я хочу вибрати рядок частинок із клітинки. Приклад: - Мене звати Мохіт, я хочу повернути будь-яке значення, як-от mohit, is, Name, My за допомогою функції. чи є якась функція чи ні
Цей коментар був мінімізований модератором на сайті
Я думаю, що для цього немає спеціальної функції, оскільки Excel не створений для обробки списків значень в одній клітинці. Ви можете створити функцію самостійно, об’єднавши згадані вище функції з LEFT() і RIGHT(). Або, звичайно, ви можете використовувати VBscripting.
Цей коментар був мінімізований модератором на сайті
Після деякої гри я отримав наступне, щоб знайти третій екземпляр X і повернути номер позиції. =FIND("X",A1,(FIND("X",A1,FIND("X",A1,1)+1))+1) Хоча модуль VBA отримує мій голос. Набагато легше запам'ятати
Цей коментар був мінімізований модератором на сайті
Звичайно, але ви можете вкладати формули в параметр "номер екземпляра" необмежено довго. Формула 2 виключає VBA, що робить її найкращим універсальним рішенням.
Цей коментар був мінімізований модератором на сайті
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) де "c" - необхідний символ і 2 це позиція. Зверніть увагу, що це формула масиву.
Цей коментар був мінімізований модератором на сайті
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)
Цей коментар був мінімізований модератором на сайті
Привіт усім, у мене є текст у клітинці Excel "23 floyd lane, longville, KN 14564" Мені потрібна функція для вилучення лише "longville" Дякую
Цей коментар був мінімізований модератором на сайті
Якщо вам потрібно використовувати функцію, спробуйте: =TRIM(MID(A1,SEARCH(",",A1)+1,SEARCH("!@#",SUBSTITUTE(A1,",","!@#",2) ))-SEARCH(",",A1)-1)) В іншому випадку ви можете розглянути дані > Текст до стовпців > Розділені (використовуючи кому як роздільник).
Цей коментар був мінімізований модератором на сайті
Формула 1 не працює на четвертому, п’ятому, шостому тощо, тому (+3,4,5) завжди показуватиме третю позицію літери «c», що означає, що формула 19 секунд працює.
Цей коментар був мінімізований модератором на сайті
УСІМ ПРИВІТ,
У мене є текст у клітинці Excel "ЗА TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
Мені потрібна функція для вилучення просто "N053112345624801"
Цей коментар був мінімізований модератором на сайті
Привіт всім,

У мене є текст у клітинці Excel "ЗА TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

Мені потрібна функція для вилучення просто "N08745987123546"

Дякую
Цей коментар був мінімізований модератором на сайті
Привіт, ви хочете витягти числа після "Ні", і кількість чисел фіксована? Якщо так, ви можете використовувати Kutools для функції Exccel для вилучення тексту, введіть No???? для вилучення.
Цей коментар був мінімізований модератором на сайті
Перша формула абсолютно марна і неправильна, але вона працює правильно для цього прикладу, оскільки перше і друге "c" сусідні. Правильна формула:


Для 2-го випадку -
= FIND ("c", A1, FIND ("c", A1) +1)

Для 3-го випадку -
=FIND("c",A1,FIND("c",A1,FIND("c",A1)+1)+1) і так далі...
Цей коментар був мінімізований модератором на сайті
Перша формула працює правильно в моїй версії, у примітці вона пояснила, як знайти третю, четверту чи n-у «с».

Примітка. Ви можете змінити 2 у формулі відповідно до ваших потреб. Наприклад, якщо ви хочете знайти четверту позицію «c», ви можете змінити 2 на 3. А якщо ви хочете знайти першу позицію «c», вам слід змінити 2 на 0.
Цей коментар був мінімізований модератором на сайті
Спробуйте з’ясувати позицію другого c із першим реченням мого коментаря вище як рядок за допомогою першої формули. Ви дізнаєтеся, наскільки це правильно!
Цей коментар був мінімізований модератором на сайті
Абсолютно згоден. +2 або +3 тощо..... повністю залежить від інтервалу між n і (n+1) зустрічаються "c". Таким чином, вам доведеться вручну налаштувати кожну клітинку, якщо ви намагалися скопіювати цю формулу в стовпець, наприклад. По суті, те саме, що й підрахунок вручну.


Напр. Давайте спробуємо знайти 4-е входження «c» у клітинку A1, використовуючи надану формулу. Згідно зі статтею, ми повинні використовувати +3 у нашій вкладеній функції FIND, щоб знайти 4-е входження.


Текст у клітинці A1:

"автомобіль з таксі abc cole cube"

Підраховуючи вручну, 4-е входження — це "c" у стовпчику в позиції символу 13.


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

Вкладена функція FIND("c",A1) знайде перше входження "c" у позиції 1.

Таким чином,

ЗНАЙТИ("c",A1)+3 = 1+3 = 4

Вставляючи це назад у нашу формулу,

=ЗНАЙТИ("c",A1,ЗНАЙТИ("c",A1)+3) = ЗНАЙТИ("c",A1,1+3) = ЗНАЙТИ("c",A1,4)

Ця нова формула шукатиме перше поява «c», починаючи з позиції символу 4. 4-й символ у рядку — це пробіл відразу після cab.

Таким чином, формула знайде "c" в автомобілі і поверне значення 5 для нашої формули. Як ми знаємо з ручного підрахунку, ми шукаємо 13 як вихід.
Цей коментар був мінімізований модератором на сайті
«Замінити» дає змогу знайти N-е входження терміна, тому об’єднайте його з «знайти» наступним чином (де 5 = 5-е входження):

= ЗНАЙТИ (CHAR (1), ЗАМІНИТИ (A1, "c", CHAR (1), 5))
Цей коментар був мінімізований модератором на сайті
Це правильна відповідь! будь ласка, замініть всю цю статтю одним рядком коду.....
Цей коментар був мінімізований модератором на сайті
Щоб обробити виключення з формули, ви можете використовувати те саме з if та iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
Цей коментар був мінімізований модератором на сайті
Знайти формулу 1 недосконала. Буде чудовою підмогою, якщо її видалити. Я втратив багато часу, намагаючись 4-го зустрічання "a" в "vedanarayanan". Дякую.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0  Персонажі
Рекомендовані місця