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
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)