Eliminare tutto tranne i numeri (Microsoft Excel)
Linda ha una colonna che contiene caratteri alfanumerici. Deve mantenere i caratteri numerici ed eliminare quelli alfabetici. Ad esempio, una cella può contenere 10003E111 e lei vuole finire con 10003111.
Ci sono alcuni modi per affrontare questo problema. Prima di procedere con qualsiasi soluzione, tuttavia, dovresti assicurarti di non provare a cambiare qualcosa che non è veramente rotto. Ad esempio, ti consigliamo di assicurarti che la “E” che appare nel numero non faccia parte del formato del numero, in altre parole, una designazione di esponenziazione. Se lo è, allora non vuoi davvero rimuovere il carattere perché finirà per cambiare la natura del numero sottostante.
Se stabilisci che i caratteri non fanno parte del formato del numero, puoi prima provare a utilizzare una formula per rimuovere i caratteri alfabetici.
Se i valori che vuoi cambiare sono nella colonna A, puoi inserire la seguente formula nella colonna B:
=SUM(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1, ROW($1:$99),1))ROW($1:$99),),ROW($1:$99))+1, 1)10^ROW($1:$99)/10)
Assicurati di inserirlo come formula di matrice premendo Ctrl + Maiusc + Invio. Il risultato è che la colonna B contiene i valori della colonna A, senza i caratteri alfabetici. È possibile utilizzare Incolla speciale per copiare le informazioni dalla colonna B a un’altra colonna in modo da ottenere i valori effettivi anziché i risultati della formula.
Questo approccio può funzionare alla grande per un utilizzo a breve termine su una singola cartella di lavoro, ma se è necessario eseguire questo tipo di elaborazione dei dati più spesso, è necessario creare una funzione definita dall’utente per eseguire l’elaborazione. Ecco un esempio:
Function OnlyNums(sWord As String) Dim sChar As String Dim x As Integer Dim sTemp As String sTemp = "" For x = 1 To Len(sWord) sChar = Mid(sWord, x, 1) If Asc(sChar) >= 48 And _ Asc(sChar) <= 57 Then sTemp = sTemp & sChar End If Next OnlyNums = Val(sTemp) End Function
Puoi utilizzare questa funzione chiamandola dall’interno di una cella del foglio di lavoro:
=OnlyNums(A1)
La funzione restituisce un valore numerico. Se vuoi creare una macro ancora più breve per eseguire l’elaborazione, considera quanto segue:
Function StripChar(aText As String) Dim I As Integer StripChar = "" For I = 1 To Len(aText) aChar = Mid(aText, I, 1) Select Case aChar Case "0" To "9" StripChar = StripChar & aChar End Select Next End Function
Per utilizzare questa funzione, utilizza uno dei seguenti nel tuo foglio di lavoro:
=STRIPCHAR(A1) =VALUE(STRIPCHAR(A1))
Il primo restituisce una stringa di testo composta da cifre, il secondo restituisce la versione numerica di quella stringa.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (11750) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: