A lógica aqui é pesquisar e extrair o primeiro número da sequência alfanumérica e retornar então somente os números que se seguem.
A solução envolve a criação de fórmulas que executem as seguintes tarefas:
A solução envolve a criação de fórmulas que executem as seguintes tarefas:
- Quebre a sequência alfanumérica em caracteres separados.
- Verifique se há um número na sequência decomposta.
- Verifique a posição do número na sequência alfanumérica.
- Conte os números na sequência alfanumérica.
Abordaremos cada uma dessas tarefas separadamente e, em seguida, integraremos as fórmulas para obter o resultado final.
QUEBRAR A SEQUÊNCIA ALFANUMÉRICA EM CARACTERES SEPARADOS
Use a função EXT.TEXTO. Essa função retorna um número específico de caracteres de uma sequência de texto, começando na posição em que você indicar, com base no número de caracteres especificado. A sintaxe da função é :
EXT.TEXTO(texto;núm_inicial;núm_caract)
EXT.TEXTO(texto;núm_inicial;núm_caract)
texto: A sequência texto contém os caracteres que você deseja extrair.
núm_inicial: A posição do primeiro caractere a ser extraído do texto. O primeiro caractere no texto tem núm_inicial 1 e assim por diante.
núm_caract: Especifica o número de caracteres que a função EXT.TEXTO deve retornar do texto
Para o nosso exemplo, a fórmula é:=EXT.TEXTO(A1;LIN($1:$9);1)
Essa fórmula decompõe a sequência alfanumérica e coloca os caracteres — virtualmente — em diferentes linhas da planilha. Por exemplo, na sequência alfanumérica abc123, todos os 6 caracteres seriam separados.
OBSERVAÇÃO O número 9 pode ser substituído por qualquer número maior de acordo com o tamanho da sequência. Neste exemplo, o tamanho máximo da sequência é 9.
É importante notar que quando a sequência é decomposta, "1", "2" e "3" são tratados como texto — não como números. Para convertê-los em números, multiplique a fórmula por 1. Por exemplo:=1*EXT.TEXTO(A1;LIN($1:$9);1)
VERIFICAR SE HÁ UM NÚMERO NA SEQUÊNCIA DECOMPOSTA
Aqui empregamos a função ÉNÚM, que verifica se há um número na sequência alfanumérica. A fórmula agora se torna:=ÉNÚM(1*EXT.TEXTO(A1;LIN($1:$9);1))
Se houver um número na sequência, o resultado será VERDADEIRO; caso contrário, será FALSO.
Use a função EXT.TEXTO. Essa função retorna um número específico de caracteres de uma sequência de texto, começando na posição em que você indicar, com base no número de caracteres especificado. A sintaxe da função é :
EXT.TEXTO(texto;núm_inicial;núm_caract)
EXT.TEXTO(texto;núm_inicial;núm_caract)
texto: A sequência texto contém os caracteres que você deseja extrair.
núm_inicial: A posição do primeiro caractere a ser extraído do texto. O primeiro caractere no texto tem núm_inicial 1 e assim por diante.
núm_caract: Especifica o número de caracteres que a função EXT.TEXTO deve retornar do texto
Para o nosso exemplo, a fórmula é:=EXT.TEXTO(A1;LIN($1:$9);1)
Essa fórmula decompõe a sequência alfanumérica e coloca os caracteres — virtualmente — em diferentes linhas da planilha. Por exemplo, na sequência alfanumérica abc123, todos os 6 caracteres seriam separados.
OBSERVAÇÃO O número 9 pode ser substituído por qualquer número maior de acordo com o tamanho da sequência. Neste exemplo, o tamanho máximo da sequência é 9.
É importante notar que quando a sequência é decomposta, "1", "2" e "3" são tratados como texto — não como números. Para convertê-los em números, multiplique a fórmula por 1. Por exemplo:=1*EXT.TEXTO(A1;LIN($1:$9);1)
VERIFICAR SE HÁ UM NÚMERO NA SEQUÊNCIA DECOMPOSTA
Aqui empregamos a função ÉNÚM, que verifica se há um número na sequência alfanumérica. A fórmula agora se torna:=ÉNÚM(1*EXT.TEXTO(A1;LIN($1:$9);1))
Se houver um número na sequência, o resultado será VERDADEIRO; caso contrário, será FALSO.
VERIFICAR A POSIÇÃO DO NÚMERO NA SEQUÊNCIA ALFANUMÉRICA
Agora, verificaremos a posição do número localizando um valor VERDADEIRO no resultado da sequência decomposta mencionada no parágrafo acima. Empregaremos a função CORRESP. A nova fórmula agora é:=CORRESP(ÉNÚM(1*EXT.TEXTO(A1;LIN($1:$9);1));0)
IMPORTANTE Você deve digitar essa fórmula como uma matriz pressionando CTRL+SHIFT+ENTER.
Se a sequência for abc123, a fórmula resultará 4 — sendo essa a posição do primeiro caractere numérico na sequência alfanumérica.
CONTAR OS NÚMEROS NA SEQÜÊNCIA ALFANUMÉRICA
A tarefa agora é contar os números na sequência, para determinar os caracteres a serem retornados após o primeiro número na sequência alfanumérica.
Como mencionado acima, os números armazenados como texto na sequência alfanumérica podem ser convertidos para números multiplicando-os por 1. Por exemplo, =1*EXT.TEXTO(A1;LIN($1:$9);1)
Depois de convertê-los para número, é possível contar os números com a função CONT.NÚM. Os números podem ser contados utilizando-se a seguinte fórmula:=CONT.NÚM(1*ENT.TEXTO(A1;LIN($1:$9);1))
INTEGRAR AS FÓRMULAS
Agora, empregaremos a função ENT.TEXTO para integrar as várias partes da fórmula, como mostrado no seguinte exemplo.=ENT.TEXTO(A1;CORRESP(VERDADEIRO,ÉNÚM(1*ENT.TEXTO(A1;LIN($1:$9);1));0);CONT.NÚM(1*ENT.TEXTO(A1;LIN($1:$9);1)))
Em termos básicos, o problema pode ser agora resumido como: Verificar a posição do primeiro número na sequência alfanumérica (na célula A1). Retornar esse número e os seguintes.
Para converter os caracteres do resultado em número, multiplique por 1. Embora isso não seja estritamente necessário, deve ser feito se você for executar operações matemáticas sobre os resultados. Esta é a fórmula final a ser digitada na célula:
B1: =1*ENT.TEXTO(A1;CORRESP(VERDADEIRO;ÉNÚM(1*ENT.TEXTO(A1;LIN($1:$9);1));0);CONT.NÚM(1*ENT.TEXTO(A1,LIN($1:$9);1)))
IMPORTANTE Você deve inserir essas fórmulas como matrizes pressionando CTRL+SHIFT+ENTER.
fonte: Mauricio Cassemiro - MVP
0 comentários:
Postar um comentário