Extraia números de células contendo cadeias alfanuméricas mistas

5

Eu tenho uma coluna com esta aparência:

      A
1 om2222prakash
2 kumar83566
3 222gsrana
4 k4566hhhh23

Como posso descobrir apenas dados numéricos em A1, A2, A3 e A4? Estou usando o Microsoft Excel 2007 e gostaria de ter a saída assim:

      A
1 2222
2 83566
3 222
4 456623
    
por Om prakash 24.09.2013 / 06:50

4 respostas

3

Bem, abra o VBE (Editor do Visual Basic) com ALT + F11 . No VBA Project Explorer, clique com o botão direito do mouse e adicione um Module .

Copie e cole o código abaixo e pressione F5 para executar a macro.

Option Explicit

Sub GetNumbers()

    Dim uColumn As String

    ' if your data is in a different column then change A to some other letter(s)
    uColumn = "A"

    Dim i As Long, j As Long, r As Range
    For i = 1 To Range(uColumn & Rows.Count).End(xlUp).Row
        Set r = Range(uColumn & i)
        Dim tmpStr As String
        tmpStr = vbNullString
        For j = 1 To Len(r)
            If IsNumeric(Right(Left(r, j), 1)) Then tmpStr = tmpStr & Right(Left(r, j), 1)
        Next j
        r.NumberFormat = "@"
        r = tmpStr
    Next i

End Sub

Existe uma variável chamada uColumn . Tem A atualmente atribuído como a coluna. Se seus dados estiverem em uma coluna diferente, mude de A para a (s) letra (s) de sua coluna

Espero que isso ajude

    
por 24.09.2013 / 09:40
3

Aqui está uma fórmula que deve funcionar.

=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))

A referência em ROW () precisa ser alterada para incluir todas as linhas de dados que você gostaria de considerar (referenciadas duas vezes na fórmula). Por exemplo, se sua última linha de dados for 200, ela será lida por ROW (US $ 1: US $ 2000).

Se os dados alfanuméricos estiverem em A1 , coloque essa fórmula em B1 e pressione shift + enter (essa é uma fórmula de matriz).
Isso levará apenas os números de A1 e coloque-os em B1. Arraste o canto de B1 até a parte inferior de seus dados para preenchimento automático para o restante de seus dados.

Você deve ver seus dados alfanuméricos na coluna A e apenas os números desses dados na coluna B, permitindo que você faça o que quiser com eles.

    
por 24.09.2013 / 12:15
1
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(AR81,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9","")

Substitui os caracteres especificados em uma string por caracteres alternativos. No exemplo numérico são substituídos por espaços em branco, ele deve funcionar com outras coisas, como caracteres especiais.

    
por 22.11.2015 / 23:37
1

Após a lógica substituta, você usaria o seguinte para remover letras e símbolos. Se eu perdi alguma, tudo que você precisa é de uma rápida modificação seguindo o mesmo padrão.

Você precisará alterar a célula inicial (é A2 na amostra abaixo).

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(UPPER(A2),"A",),"B",),"C",),"D",),"E",),"F",),"G",),"H",),"I",),"J",),"K",),"L",),"M",),"N",),"O",),"P",),"Q",),"R",),"S",),"T",),"U",),"V",),"W",),"X",),"Y",),"Z",)," ",),".",),"(",),")",),"-",),"+",),"=",),"!",),"@",),"#",),"$",),"%",),"^",),"&",),"*",),"_",),"[",),"]",),"{",),"}",),"\",),"|",),":",),";",),"""",),"<",),">",),",",),"?",)

    
por 23.06.2017 / 01:26