Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como encontrar a posição do primeiro / último número em uma string de texto no Excel?

Por exemplo, você tem uma lista de sequência de texto que é uma mistura de letras e números. Se você quiser encontrar a posição do primeiro ou do último número em cada string, o que você faria? Na verdade, usar a fórmula o ajudará a encontrar rapidamente a posição do primeiro / último número em uma string de texto especificada. Neste tutorial, mostraremos os detalhes de como lidar com esse problema.

Encontre a posição do primeiro número na string de texto no Excel
Encontre a posição do último número na string de texto no Excel


Encontre a posição do primeiro número na string de texto no Excel


Como mostrado na imagem abaixo, para encontrar as posições dos primeiros números nas strings de texto, faça o seguinte.

1. Selecione a célula B2, copie e cole uma das fórmulas abaixo na Barra de Fórmulas:

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

2). Fórmula 2: =MATCH(TRUE,ABS(CODE(MID(A2,ROW($A$1:INDEX(A:A,LEN(A2))),1))-52.5)<5,0) + Ctrl + mudança + entrar;

3). Fórmula 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. Então, a posição do primeiro número da primeira string é exibida na célula B2. Agora arraste o identificador de preenchimento para a célula B7 para preencher o intervalo abaixo.

Então, todas as primeiras posições numéricas de todas as strings são listadas.


Encontre a posição do último número na string de texto no Excel

Depois de encontrar a posição do primeiro número, agora começamos a encontrar a posição do último número em strings.

Nesta seção, existem duas fórmulas para você.

Fórmula 1: = MAX (SE (ISNUMBER (VALUE (MID (A2, ROW (INDIRECT ("1:" & LEN (A2))), 1))), ROW (INDIRECT ("1:" & LEN (A2)))) ) + Ctrl + mudança + entrar;

Fórmula 2: =MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2,ROW(INDIRECT("1:"&LEN(A2)))),0)) + Ctrl + mudança + entrar

1. Selecione a célula B2, copie e cole uma das fórmulas acima na Barra de Fórmulas e pressione as teclas Ctrl + Shift + Enter simultaneamente. Então você pode ver o resultado exibido em B2.

2. Selecione o B2, arraste a alça de preenchimento até a célula B7 para preencher automaticamente o intervalo.

Então você obterá as posições de todos os últimos números de toda a string de texto imediatamente.


Separe facilmente o texto e o número de uma célula em duas colunas no Excel:

Com Kutools for Excel'S Dividir células utilitário, você pode dividir um intervalo de células em linhas ou colunas por separador específico, dividir texto e números ou dividir texto por comprimento de certian. Baixe e experimente agora! (Trilha livre de 30 dias)


Artigos relacionados:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom
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.
    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.
    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.
      crystal · 2 years ago
      You are welcome O(∩_∩)O
  • 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.
      crystal · 2 years ago
      Hi,
      Sorry can't help with this.
  • 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.
      Mehidy Hassan · 2 months ago
      Many Thanks , Great
    • To post as a guest, your comment is unpublished.
      Datta · 4 years ago
      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.
    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
    • To post as a guest, your comment is unpublished.
      Wajid · 2 years ago
      Hats off mate..