Excel – Trovare il primo carattere che non è 0 in una string

La mia cella A1 avrà una string in esso come 02020. Ho bisogno di una formula che verificherà questa string e restituirà il valore del primo carattere che non è uguale a 0. Quindi nell'esempio precedente dovrebbe restituire 2.

Grazie per qualsiasi aiuto.

L'unico problema importnte è che uno zero iniziale può essere il primo carattere di una string di caratteri o semplicemente essere il risultato della formattazione di un valore numbersco con zeri principali. La soluzione dovrebbe coprire entrambi i casi.

Considera questa function definita dall'utente:

 Public Function DropTheZeros(r As Range) As Variant Dim s As String, i As Long s = r(1).Text For i = 1 To Len(s) DropTheZeros = Mid(s, i, 1) If DropTheZeros <> "0" Then Exit Function Next i DropTheZeros = "" End Function 

immettere qui la descrizione dell'immagine

Questo dovrebbe funzionare anche se gli zeri principali sono un artificio di formattazione.

O anche:

 Public Function DropTheZeros2(r As Range) As Variant DropTheZeros2 = Left(Replace(r(1).Text, "0", ""), 1) End Function 

O anche senza VBA:

 =LEFT(SUBSTITUTE(TEXT(A1,"@"),"0",""),1)