Articles

Perché la tua formula di Excel non viene calcolata?

Fb-Button

In questo articolo, impareremo Perché la tua formula di Excel non viene calcolata?

Scenario:

Molte volte, come quando estraiamo numeri da una stringa, sono testi per proprietà. Non puoi fare nessuna operazione sui numeri su di loro. Allora abbiamo la necessità di convertire quel testo in un numero. Quindi per convertire qualsiasi testo in un numero possiamo adottare vari approcci a seconda della situazione. Diamo un’occhiata a questi approcci…

Utilizzare la funzione VALUE per convertire il testo in numero

Se avete scaricato i dati di una somma da un sito web, è comune ottenere alcuni numeri in formato testo come date speciali. Basta avvolgere questo testo in una funzione VALUE. Restituirà un numero puro.

Sintassi della funzione VALORE

=VALORE(testo)

Per convertire un testo nella cella B2 in numero scrivete questa formula VALORE.

=VALORE(B2)

Aggiungi 0 al testo per convertire il testo in numero

Se aggiungete un qualsiasi numero usando l’operatore + a un numero formattato come testo, esso convertirà il testo in un numero e poi aggiungerà il numero dato al numero convertito. Alla fine il risultato sarà un numero.

Per esempio se c’è un numero formattato come testo in B4, allora basta aggiungere 0 per convertire la stringa in numero.

=B4+0

Il risultato sarà sicuramente un numero.

Come vi ho detto all’inizio, questo problema si verifica quando estraiamo numeri da stringhe. Quindi se vuoi che il testo estratto sia numerato basta aggiungere 0 alla fine.

Per esempio sto estraendo il citycode dal testo B6. L’ho estratto usando la funzione LEFT. Ma non è un numero quindi ho aggiunto uno 0 nella formula stessa.

=LEFT(B6,6)+0

Usare la notifica di Excel per convertire il testo in numero

Quando un numero è sotto forma di testo, excel lo notifica mostrando un angolo verde della cella.

Quando cliccate sulla cella viene mostrata una piccola icona esclamativa nell’angolo sinistro della cella.

Quando cliccate su di essa, viene mostrata l’opzione Converti in numero. Cliccate su di essa e il testo verrà convertito in numero.

Convertire testo in numero usando VBA
Quindi, se avete un intervallo fisso che volete convertire in testo, usate questo snippet VBA.

Sub ConvertTextToNumber() Range("A3:A8").NumberFormat = "General" Range("A3:A8").Value = Range("A3:A8").ValueEnd Sub

Quando eseguite il codice qui sopra, esso converte il testo dell’intervallo A3:A8 in testo.
Questo codice può sembrare più elegante se lo scriviamo così.

Sub ConvertTextToNumber() With Range("A3:A8") .NumberFormat = "General" .Value = .Value End WithEnd Sub

Come funziona? Prima cambiamo il formato del numero dell’intervallo in Generale. Poi mettiamo il valore di quell’intervallo nello stesso intervallo usando VBA. Questo rimuove completamente la formattazione del testo. Semplice, no?

Cambiare il numero di formattazione di un intervallo dinamico

Nel codice di cui sopra, abbiamo cambiato il testo in numero di un intervallo fisso, ma questo non sarà il caso la maggior parte delle volte. Per convertire il testo in numero di un intervallo dinamico, possiamo valutare l’ultima cella usata o selezionare l’intervallo dinamicamente.

Ecco come sarebbe:

Sub ConvertTextToNumber()With Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "General" .Value = .ValueEnd With

Qui, so che l’intervallo inizia da A3. Ma non so dove può finire.

Così identifico dinamicamente l’ultima riga di excel usata che ha dei dati in essa usando lo snippet VBA Cells(Rows.Count, 1).End(xlUp).Row. Restituisce l’ultimo numero di riga usato che stiamo concatenando con “A3:A”.

Nota: Questo snippet VBA funziona sulla cartella di lavoro attiva e sul foglio di lavoro attivo. Se il vostro codice passa attraverso più fogli, sarebbe meglio impostare un oggetto range del foglio di lavoro previsto. Come questo

Sub ConvertTextToNumber() Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row) With Rng .NumberFormat = "General" .Value = .Value End WithEnd Sub

Il codice qui sopra cambierà sempre il testo con il numero del foglio1 della cartella di lavoro che contiene questo codice.

Loop e CSng per cambiare il testo in numero

Un altro metodo è quello di fare un loop attraverso ogni cella e cambiare il valore della cella in un numero usando la funzione CSng. Ecco il codice.

Sub ConvertTextToNumberLoop() Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row) For Each cel In Rng.Cells cel.Value = CSng(cel.Value) Next celEnd Sub

Nello snippet VBA qui sopra, stiamo usando VBA For loop per iterare su ogni cella nell’intervallo e convertire il valore di ogni cella in un numero usando la funzione CSng di VBA.

Quindi sì ragazzi, questo è come potete cambiare i testi in numeri in Excel usando VBA. Potete usare questi snippet per preparare il vostro foglio di lavoro prima di fare qualsiasi operazione sui numeri. Spero di essere stato abbastanza esplicativo. Puoi scaricare il file di lavoro qui.

Change Text to Number Using VBA.

Spero che questo articolo su Why Is Your Excel Formula Not Calculating sia esplicativo. Trova altri articoli sul calcolo dei valori e sulle formule Excel correlate qui. Se ti è piaciuto il nostro blog, condividilo con i tuoi amici su Facebook. E anche tu puoi seguirci su Twitter e Facebook. Ci piacerebbe sentire da voi, fateci sapere come possiamo migliorare, completare o innovare il nostro lavoro e renderlo migliore per voi. Scrivici a [email protected].

Articoli correlati :

Come ottenere testo & numero inverso attraverso VBA in Microsoft Excel: Per invertire il numero e il testo usiamo i cicli e la funzione mid in VBA. 1234 sarà convertito in 4321, “you” sarà convertito in “uoy”. Ecco lo snippet.

Formattare i dati con formati numerici personalizzati usando VBA in Microsoft Excel : Per cambiare il formato numerico di colonne specifiche in Excel, usate questo snippet VBA. Converte il formato del numero di specificato nel formato specificato in un clic.

Articoli popolari :

Come usare la funzione IF in Excel : L’istruzione IF in Excel controlla la condizione e restituisce un valore specifico se la condizione è VERO o restituisce un altro valore specifico se FALSO.

Come usare la funzione VLOOKUP in Excel: Questa è una delle funzioni più usate e popolari di excel che è usata per cercare il valore da diverse gamme e fogli.

Come usare la funzione SUMIF in Excel: Questa è un’altra funzione essenziale per il cruscotto. Questo ti aiuta a sommare i valori su condizioni specifiche.

Come usare la funzione COUNTIF in Excel: Conta i valori con le condizioni usando questa incredibile funzione. Non hai bisogno di filtrare i tuoi dati per contare valori specifici. La funzione Countif è essenziale per preparare il tuo cruscotto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *