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 il 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 (12058) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia di menu precedente di Excel qui: