16/12/2020 | Por | Blog


Olá pessoal! Como vocês estão, tudo bem?

Com a loucura em que ficamos neste ano de pandemia, foram poucas as oportunidades que tive para poder postar coisas aqui para vocês, mas quero retomar isso e uma dúvida de uma aluna virou este tema de hoje. Ela precisava separar os números de um bloco de texto, e geralmente com os conhecimentos usuais de Excel, um usuário iria optar automaticamente pelas funções de tratamento de texto mais comuns como ESQUERDA e DIREITA, talvez um NÚM.CARACT, etc…

Nesta postagem, vamos descobrir como obter a posição do primeiro número em uma string de texto. Vamos supor que temos dados de produtos e o código deste produto e em nosso exemplo alguém colocou os dois itens em uma célula, dificultando o uso dos dados. Como podemos separar facilmente esses dados em duas células?

Copie e cole esta tabela na célula A1 no Excel

Produto & Código
Posição do primeiro número
Texto
Número
Camisa23647-7
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A2&”0123456789″))
=ESQUERDA(A2; B2-1)
=DIREITA(A2;NÚM.CARACT(A2)-B2+1)
Sapato23774-5
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A3&”0123456789″))
=ESQUERDA(A3; B3-1)
=DIREITA(A3;NÚM.CARACT(A3)-B3+1)
Meia24372-1
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A4&”0123456789″))
=ESQUERDA(A4; B4-1)
=DIREITA(A4;NÚM.CARACT(A4)-B4+1)
Bolsa98762-2
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A5&”0123456789″))
=ESQUERDA(A5; B5-1)
=DIREITA(A5;NÚM.CARACT(A5)-B5+1)
Vestido98732-2
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A6&”0123456789″))
=ESQUERDA(A6; B6-1)
=DIREITA(A6;NÚM.CARACT(A6)-B6+1)
Calça22374-9
=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A7&”0123456789″))
=ESQUERDA(A7; B7-1)
=DIREITA(A7;NÚM.CARACT(A7)-B7+1)

Obs: Caso a fórmula traga o resultado #NOME no seu Excel, entre na célula B2 e digite novamente as aspas da fórmula, arrastando para baixo e corrigindo o erro.

Vamos às explicações para este problema:

Para encontrar a posição do primeiro caractere numérico, podemos usar esta fórmula.

=MÍNIMO(PROCURAR({0;1;2;3;4;5;6;7;8;9}; A2&"0123456789"))

Isto irá encontrar a posição da primeira instância de um dos elementos do array {0,1,2,3,4,5,6,7,8,9} (quer dizer, o primeiro número) dentro da célula A2 (o nosso primeiro produto com código). A parte A2& ”0123456789″ garante que a função PROCURAR encontrará pelo menos um número se A2 não tiver realmente um número e permitirá que a fórmula seja calculada sem resultar em um erro #VALUE.

Podemos então usar esta posição que acabamos de calcular para retornar o texto à esquerda (o produto) e o texto à direita (o código).

O texto à esquerda pode ser encontrado com esta fórmula.

=ESQUERDA(A2,B2-1)

O texto à direita pode ser encontrado com esta fórmula.

=DIREITA(A2;NÚM.CARACT(A2)-B2+1)

Espero que tenham gostado dessa dica. Caso tenham alguma dúvida ou queiram sugerir algum post, comente aqui e faça seu pedido.

Um grande abraço e até a próxima!

Últimos Posts

Tags

Increva-se para novidades

  • Facebook
  • Instagram
  • Twitter
  • Whatsapp
  • Youtube
Fale conosco pelo whatsapp