Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как найти позицию первого / последнего числа в текстовой строке в Excel?

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

Найти позицию первого числа в текстовой строке в Excel
Найти позицию последнего числа в текстовой строке в Excel


Найти позицию первого числа в текстовой строке в Excel


Как показано на скриншоте ниже, для поиска позиций первых чисел в текстовых строках выполните следующие действия.

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

1). Формула 1: = МИН (ПОИСК ({0,1,2,3,4,5,6,7,8,9}, A2 & "0123456789"));

2). Формула 2: =MATCH(TRUE,ABS(CODE(MID(A2,ROW($A$1:INDEX(A:A,LEN(A2))),1))-52.5)<5,0) + Ctrl + Shift + Enter;

3). Формула 3: =MIN(IF(ISERROR(FIND({1;2;3;4;5;6;7;8;9;0},A2)),"",FIND({1;2;3;4;5;6;7;8;9;0},A2))).

2. Затем в ячейке B2 отображается первая числовая позиция первой строки. Теперь перетащите маркер заполнения в ячейку B7, чтобы заполнить указанный ниже диапазон.

Затем перечисляются все первые числовые позиции целых строк.


Найти позицию последнего числа в текстовой строке в Excel

После нахождения позиции первого числа мы теперь начинаем находить позицию последнего числа в строках.

В этом разделе для вас есть две формулы.

Формула 1: = МАКС (ЕСЛИ (ЕЧИСЛО (ЗНАЧЕНИЕ (СРЕДНЕЕ (A2; СТРОКА (КОСВЕННАЯ ("1:" & ДЛИН (A2))); 1))); СТРОКА (КОСВЕННАЯ ("1:" & ДСТР (A2)))) ) + Ctrl + Shift + Enter;

Формула 2: =MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2,ROW(INDIRECT("1:"&LEN(A2)))),0)) + Ctrl + Shift + Enter

1. Выберите ячейку B2, скопируйте и вставьте одну из приведенных выше формул в панель формул, затем одновременно нажмите клавиши Ctrl + Shift + Enter. Затем вы можете увидеть результат в B2.

2. Выберите B2, перетащите маркер заполнения в ячейку B7, чтобы автоматически заполнить диапазон.

Тогда вы сразу получите позиции всех последних чисел всей текстовой строки.


С легкостью разделите текст и число из одной ячейки на два столбца в Excel:

Работы С Нами Kutools for ExcelАвтора Разделить клетки Утилита, вы можете разделить диапазон ячеек на строки или столбцы с помощью определенного разделителя, разделить текст и числа или разделить текст по определенной длине. Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная трасса)


Статьи по теме:


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

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mehidy Hassan · 2 months ago
    @George Many Thanks , Great
  • To post as a guest, your comment is unpublished.
    madgrappler · 1 years ago
    Thought I would let everyone know that I needed to find the last position of the house numbers in an address field in access. The only way I could do this was to export a short query to excel and run this formula. I know there is a way to get the excel functions in access but this was much easier. I had addresses that had varying house number lengths and then you throw in the 1st, 2nd, 3rd...St., Ave into the mix within the street name and you got a major problem parsing a very bad formatted address string.

    address examples 1234 nw (or NW) 4th St.
    12 West St North (or N)
    123,456, and 789 Heritage Circle (or Crc)
    123 & 456 N 1st. St

    I figured out a way to parse off the first and second example real quick with some research (I would give credit, but right now I can't remember where I got the answer). It involved creating a VBA function to accomplish it. That worked great but I came to a problem when we come to the first "," or "and" or "&".

    Using this formula in excel found the last number I needed without choosing the street number. Since most house numbers ended with a space " " between them and the direction segment or the street name segment, I added --- &" " after the find formula. Like this: in an array formula
    =MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0}&" ",E2,ROW(INDIRECT("1:"&LEN(E2)))),0))
    A quick export back to an access table and wala! you have the number.
    202 & 206 N Blanche Ave = 9

    Now I know I could probably parse the rest of the address in excel but it actually worked real well in Access, so I just decided to do the rest there.

    If there is a way to do it all in Access, I couldn't find it or figure it out.
  • To post as a guest, your comment is unpublished.
    Borja · 2 years ago
    goood, thanks
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Guess You are welcome O(∩_∩)O
  • To post as a guest, your comment is unpublished.
    Guess · 2 years ago
    That's what I needed =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"));

    thank you very much!
  • To post as a guest, your comment is unpublished.
    Wajid · 2 years ago
    @Jon Adams Hats off mate..
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Francis Hi,
    Sorry can't help with this.
  • To post as a guest, your comment is unpublished.
    Francis · 2 years ago
    how to get this to work in powerpivot
  • To post as a guest, your comment is unpublished.
    Datta · 4 years ago
    @George Hi George,

    your formula is may meet my requirement.

    I need similar formula to find out digit position in the string listed in "A" row in B row

    Required output
    8
    5
    1
    4
    3
    1 3
    2
    5 5
    6
    6 1
    7
    9
    9 1
    1 6
    0
    9 3
    0 2
    7 4
    9 3
    6 5
    5 7
    4 9
    8 10
    2 10
    0 8
    1 9
  • To post as a guest, your comment is unpublished.
    LanaMadAboutExcel · 4 years ago
    .... and here I thought that I knew Excel well. Bravo!!!!!
  • To post as a guest, your comment is unpublished.
    George · 4 years ago
    And here is a formula for finding the position of the last numeric character in a string, but WITHOUT using an array formula:

    =MAX(SEARCH(CHAR(9),SUBSTITUTE("0123456789"&A1,{0,1,2,3,4,5,6,7,8,9},CHAR(9),LEN(A1)+10-LEN(SUBSTITUTE("0123456789"&A1,{0,1,2,3,4,5,6,7,8,9},"")))))-10

    The number 10 appearing in this formula, are due to the length of the constant string "0123456789", that is concatenated in this formula.
  • To post as a guest, your comment is unpublished.
    Ashabel · 4 years ago
    This was exactly what I wanted. Thank you.
  • To post as a guest, your comment is unpublished.
    Jon Adams · 5 years ago
    The function

    1). Formula 1: =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"));

    It's absolutely what i needed and extremely cool!

    Thanks so much!

    Jon