Veja neste artigo como Extrair Números no Excel.
No artigo iremos mostrar três formas de extrair números no Excel
Como Extrair Números no Excel 1
Uma forma de extrair números do Excel é você usar uma função própria VBA no Excel.
Para isso clique na guia Desenvolvedor e no botão Visual Basic. Como habilitar guia desenvolvedor.
Em seguida clique em inserir Módulo e cole o seguinte código VBA:
'Esta função tem por objetivo retirar números de células que contenham conteúdos mistos de números e texto
'sem a possibilidade de serem colunados
Public Function lfRetiraNumeros(ByVal vValor As String) As String
'Atualiza o cálculo automaticamente
Application.Volatile
'Conta a quantidade de caracteres
Dim vQtdeCaract As Long
Dim vControle As Boolean
vQtdeCaract = Len(vValor)
vControle = False
'Para cada caractere identifica se é número ou texto
For i = 1 To vQtdeCaract
'Se for número adiciona no retorno da função
If IsNumeric(Mid(vValor, i, 1)) Then
If vControle = True And lfRetiraNumeros <> vbNullString Then
lfRetiraNumeros = lfRetiraNumeros + "/"
End If
vControle = False
lfRetiraNumeros = lfRetiraNumeros & Mid(vValor, i, 1)
Else
vControle = True
End If
Next
End Function
Em seguida pode usar no Excel clicando em uma célula e digitando =lfRetiraNumeros(C8) e passando a célula aonde teremos então o seguinte uso.
Veja que temos então o uso bastante simples da função, bastando usar como uma função normalmente, tendo então o retorno apenas dos números extraídos.
Como Extrair Números no Excel 2
Uma segunda forma de extrair números no Excel é usando o Power Query.
Então podemos usar a linguagem M e extrair somente números usando Power Query no Excel ou no PowerBI.
Para isso clique na guia Dados e em Obter Dados selecione o local de onde virão os dados, podendo conectar com diversas fontes, no nosso exemplo foi feito com base em uma tabela.
Uma vez aberto no Power Query clique em Inserir->Adicionar Coluna->Coluna Personalizada.
Nela usamos o seguinte código inserido:
= Text.Select([Hist Lanc], {"0".."9"," "})
No código temos então o uso da função Text.Select para retornar somente valores de números de 0 à 9 e também espaço em branco ” “.
Em seguida clicando com o botão direito sobre a coluna clicamos com o botão direito em Transformar->Cortar e Transformar->Limpar para remover os espaços em branco.
Ao clicar em Página->Fechar e Carregar e carregamos os dados para a planilha em formato de tabela como temos no resultado abaixo na coluna Somente números.
Como Extrair Números no Excel 3
A terceira forma de extrair números de células do Excel é usando funções do Excel 365.
Nela usamos a fórmula abaixo aonde temos então a extração dos dados abrindo cada uma das letras e verificando se o caracter é um número ou um texto.
Para isso usamos a fórmula abaixo:
=ARRUMAR(UNIRTEXTO(“”;;FILTRO(EXT.TEXTO(C8;SEQUÊNCIA(NÚM.CARACT(C8));1);
(ÉNÚM(EXT.TEXTO(C8;SEQUÊNCIA(NÚM.CARACT(C8));1)*1))+
(EXT.TEXTO(C8;SEQUÊNCIA(NÚM.CARACT(C8));1)=” “))))
Na fórmula usamos a função EXT.TEXTO, aonde temos a extração de um ou mais caracteres à partir de uma cadeia de texto.
Com isso usamos a função SEQUÊNCIA parar gerar uma sequência de números com a quantidade de caracteres que temos na nossa lista NÚM.CARACT, extraindo de uma um.
Usando a função FILTRO temos então a análise de cada um destes dados item a item usando a matriz com todos os caracteres.
Com isso usamos o ÉNÚM para verificar se é um número e retornando VERDADEIRO ou FALSO para cada caractere.
E por fim usamos o UNIRTEXTO para retornar da função FILTRO apenas os itens que atendem esta situação.
Além disso usamos a mesma lógica para manter os espaços, ” ” e temos o ARRUMAR para remover espaços duplicados.
Se quiser reaplicar diretamente apenas copiando a fórmula também pode.
Basta copiar e alterar o C8 pela célula aonde irá extrair os números.
E o resultado que temos é a extração destes números conforme abaixo.
Outra forma de fazer isso é aplicando LET para criar variáveis e reutilizar funções utilizadas nesta fórmula, como abaixo:
=LET(strTexto;EXT.TEXTO(C8;SEQUÊNCIA(NÚM.CARACT(C8));1);
ARRUMAR(UNIRTEXTO(“”;;FILTRO(strTexto;(ÉNÚM(strTexto*1))+(strTexto=” “)))))
Note que reduz muito o cálculo, lembrando que no vídeo ao início é explicado todo este artigo na aula.
Outra forma de fazer isso é criando uma função LAMBDA à partir desta.
Veja abaixo a função LAMBDA.
=LAMBDA(strCelula; LET(strTexto;EXT.TEXTO(strCelula;SEQUÊNCIA(NÚM.CARACT(strCelula));1); ARRUMAR(UNIRTEXTO(“”;;FILTRO(strTexto;(ÉNÚM(strTexto*1))+(strTexto=” “))))))
Então adicionamos esta função no Gerenciador de Nomes.
E por fim temos a extração de dados usando a nossa função lambda criada, sem usar o VBA como no início e podendo ser aplicada no Excel de forma simples.
Download Planilha Extrair Números no Excel
Clique no botão abaixo para realizar o download do arquivo de exemplo: