Перейти к основному содержанию

Как найти первое, последнее или n-е вхождение символа в Excel?

Автор: Сяоян Последнее изменение: 2020 июля 05 г.

Предположим, у вас есть следующий список текстовых строк, которые содержат символ «-», и теперь вы хотите получить последнее или 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. Затем сохраните и закройте этот код, вернитесь на рабочий лист и введите эту формулу = lastpositionofchar (A2; «-») в пустую ячейку помимо ваших данных, см. снимок экрана:

5. Затем перетащите дескриптор заполнения в диапазон, который вам нужен для применения этой формулы, и вхождение последнего символа «-» было извлечено из текстовых строк, как показано на следующем снимке экрана:

Внимание: В приведенной выше формуле: A2 - это ячейка, содержащая данные, которые вы хотите использовать, а «-»- это символ, который вам нужен, чтобы найти его последнюю позицию, вы можете изменить их по своему усмотрению.


Найдите первое или n-е вхождение символа с помощью формулы

Чтобы получить первую или n-ю позицию определенного символа, примените следующую формулу:

1. Введите или скопируйте приведенные ниже формулы в пустую ячейку, в которую вы хотите поместить результат, и нажмите Enter ключ для получения первого результата:

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

2. Затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и позиции второго символа «-» были вычислены, см. Снимок экрана:

Примечание: В приведенных выше формулах A2 указывает значение ячейки, которое вы хотите использовать, «-»Обозначает конкретный символ, положение которого вы хотите получить, число 2 обозначает указанное вхождение символа, который вы хотите получить.


Найти первое или n-е вхождение определенного символа с помощью простой функции

Доступно Kutools for ExcelАвтора Найдите место N-го символа в строке утилиту, вы можете быстро и легко получить позицию первого или n-го конкретного символа.

Примечание:Чтобы применить это Найдите место N-го символа в строке, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

Например, я хочу получить второе появление символа «-», пожалуйста, сделайте следующее:

1. Щелкните ячейку, в которую вы хотите поместить результат.

2. Затем нажмите Кутулс > Формула Помощник > Формула Помощник, см. снимок экрана:

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

  • Выберите Поиск из файла Формула Тип раскрывающийся список;
  • Затем выберите Найдите место N-го символа в строке из Выберите изула список;
  • В Ввод аргументов раздел, выберите ячейку, содержащую текстовую строку, которую вы хотите использовать, и введите символ, который вы хотите получить, его позицию, наконец, укажите число, которое вы хотите получить, положение символа.

4. Затем нажмите Ok кнопку, а затем перетащите маркер заполнения вниз к ячейкам, положение которых вы хотите получить, чтобы получить следующий результат по мере необходимости.

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


Больше относительных статей:

  • Извлечь все, кроме первого / последнего слова в Excel
  • Чтобы извлечь все слова из ячейки, но первое или последнее слово может помочь вам удалить ненужное слово, которое вам нужно, в этом случае, конечно, вы можете скопировать нужные слова и вставить их в другую ячейку по одному. Но это будет скучно, если нужно извлечь несколько значений ячеек, кроме первого или последнего слова. Как быстро и легко извлечь все слова, кроме первого или последнего, в Excel?
  • Извлечь символы справа налево в ячейке
  • В этой статье будет рассказано о вытягивании или извлечении символов справа в ячейке, пока не будет достигнут пробел, чтобы получить следующий результат на листе Excel. Полезная формула из этой статьи поможет быстро и легко решить эту задачу.
  • Найдите позицию первой строчной буквы
  • Если у вас есть список текстовых строк, которые содержат как прописные, так и строчные буквы, теперь вы хотите узнать положение первой строчной буквы из них на листе Excel. Как быстро получить результат, не пересчитывая их по очереди?

Лучшие инструменты для офисной работы

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

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 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