16/12/2020 | Por Fabio Joaquim | 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!
Android Aplicativo Aplicativos Apple Atalhos Avançado Bateria Brasil Básico Celular Computador Copa do Mundo Dicas Download Excel Facebook Formatação Funções Gmail Google Gráficos Intermediário Internet IOS iPhone Marco Civil Microsoft Outlook Power BI PowerPoint Redes Sociais Segredos Segurança Senhas Smartphone Smartphones Tecnologia Treinamentos Corporativos Twitter Uber Vídeo Aula Vírus WhatsApp Windows Word
Desenvolvido por Danxia Publicidade.