Conversione delle informazioni importate in valori numerici (Microsoft Excel)
Garrett ha chiesto se c’era un modo per convertire rapidamente i dati di testo in dati numerici. Sta importando un file di testo che utilizza spazi al posto delle migliaia (1 256) invece di una virgola (1,256).
Esistono diversi modi per affrontare questo problema. Il primo è capire l’origine del problema. Il file di testo è probabilmente creato su un sistema che segue uno standard metrico. Alcuni paesi, seguendo lo standard metrico, utilizzano uno spazio per il separatore delle migliaia invece di una virgola. Pertanto, è possibile importare correttamente il file in Excel se si modificano le impostazioni internazionali in Windows prima di avviare Excel e di eseguire l’importazione. È possibile modificare le impostazioni internazionali utilizzando l’applet Opzioni internazionali nel Pannello di controllo.
Se non desideri modificare le impostazioni regionali sul tuo sistema, puoi adottare altri approcci. Dopo che Excel ha importato le informazioni, è possibile selezionare l’intervallo di celle che contengono numeri ed eseguire semplicemente una ricerca e una sostituzione. Stai cercando un singolo spazio e lo sostituisci con niente. Ciò elimina completamente lo spazio e Excel tratterà il contenuto della cella come un numero.
È inoltre possibile utilizzare una formula, se lo si desidera, per modificare i dati importati. Ad esempio, se il numero importato (contenente uno spazio) è nella cella A3, puoi utilizzare questa formula per rimuovere lo spazio:
=1*SUBSTITUTE(A3," ","")
Notare che c’è uno spazio tra la prima serie di virgolette e nulla tra la seconda serie di virgolette.
Se hai un bel po ‘di dati da convertire, o se hai del testo intervallato dalle celle “solo numeri”, allora potresti decidere di usare una macro per fare la conversione. La seguente macro funziona su una selezione effettuata prima di chiamarla. Verifica inoltre che la cella, dopo aver rimosso gli spazi, contenga un valore numerico. In caso contrario, non viene eseguita alcuna conversione.
Sub ClearSpacesIfNumeric() Dim c As Range 'Cell under examination Dim tmpText As String 'Cell contents without spaces Dim i As Integer 'Simple counter For Each c In Selection tmpText = "" 'Initialize 'Check each character to see if it's a space 'If it isn't, add it to tmpText For i = 1 To Len(c.Text) If Mid(c.Text, i, 1) <> " " Then tmpText = tmpText & Mid(c.Text, i, 1) End If Next i 'tmpText is now the cell contents without spaces 'If tmpText is a number, assign its value to 'the current cell If IsNumeric(tmpText) Then c.Value = tmpText End If Next c End Sub
_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 (2248) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: