Melhor maneira de remover vários zeros à esquerda no valor não numérico no Excel

1

Eu estava lendo sobre "A melhor maneira de remover zeros à esquerda de um valor não numérico no Excel" e adoro a solução fornecida, mas a questão é que, apenas removendo 1 zeros do zero anterior. Preciso encontrar o zero e removê-los todos. Então, eu usei essa fórmula e inseri outra declaração if assim:

=IF( LEFT(S3) = "0", RIGHT(S3, LEN(S3)-1),IF(
    LEFT(S3) = "0",
    RIGHT(S3, LEN(S3)),
    S3))

Mas não funcionou.

    
por user2089542 10.03.2017 / 17:29

4 respostas

0

Você não mencionou o número máximo de "0" esperado em seu valor alfanumérico, portanto, aqui está um exemplo com um máximo de 4 zeros:

=IF(LEFT(A1,4)="0000",RIGHT(A1,LEN(A1)-4), IF(LEFT(A1,3)="000",RIGHT(A1,LEN(A1)-3), IF(LEFT(A1,2)="00",RIGHT(A1,LEN(A1)-2), IF(LEFT(A1,1)="0",RIGHT(A1,LEN(A1)-1), A1))))

Isso lhe dará o próximo resultado:

Claro que se o seu valor for numérico, um só:

=VALUE(A1)

será suficiente.

    
por 10.03.2017 / 17:38
0

Use esta fórmula de matriz:

=MID(A1,MIN(IF(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1)<>"0",ROW(INDIRECT("1:" & LEN(A1))))),LEN(A1))

Sendo uma fórmula de matriz, ela precisa ser confirmada com Ctrl-Shift-Enter em vez de Enter ao sair do modo de edição. Se feito corretamente, o Excel colocará {} em torno da fórmula.

Ele encontrará o primeiro não 0 e o definirá como o primeiro caractere na função MID.

    
por 10.03.2017 / 17:40
0

Experimente esta pequena função definida pelo usuário:

Public Function nozero(s As String) As String
    Dim l As Long
    l = Len(s)

    If Left(s, 1) <> "0" Then
        nozero = s
        Exit Function
    End If

    t = s
    While Left(t, 1) = "0"
        t = Mid(t, 2)
    Wend
    nozero = t
End Function
    
por 10.03.2017 / 17:44
0

Defina um nome que crie uma matriz de números 1:255

seq   refers to:  =ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))

Em seguida, use esta fórmula digitando ctrl + shift enquanto pressiona Enter

=MID(A1,MATCH(TRUE,MID(A1,seq,1)<>"0",0),99)

    
por 11.03.2017 / 03:13