Ciaran lavora in una biblioteca e spesso deve lavorare con lunghi elenchi di numeri ISBN in Excel. I numeri devono contenere 10 o 13 cifre, possono contenere trattini e possono avere zeri iniziali. Utilizza il formato di testo per le celle che contengono codici ISBN per mantenerli intatti come stringhe di testo. Per alcuni scopi, i trattini negli ISBN devono essere rimossi (usa Trova e sostituisci per questo) ed è qui che iniziano i problemi.

0-241-95011-2 diventa 241950112 (ora è sceso a 9 cifre) e, peggio, 978-0-00-200784-9 diventa 9,78E + 12 (notazione scientifica). Ciaran non riesce a trovare alcun modo per aggirare questi due problemi, indipendentemente da ciò che fa con la formattazione prima o dopo aver utilizzato Trova e sostituisci per eliminare i trattini.

Quello che sta succedendo è che quando modifichi le celle, Excel analizza il contenuto delle celle come numeri anziché come testo. In questo caso, la soluzione migliore è assicurarsi che il contenuto della cella sia preceduto da un apostrofo prima di eseguire Trova e sostituisci per eliminare i trattini.

Se hai un foglio di lavoro che contiene molti numeri ISBN nella colonna A, puoi aggiungere gli apostrofi con una formula come la seguente:

= "'" & A1

È quindi possibile copiare i risultati delle formule e quindi utilizzare Incolla speciale per incollare nuovamente i valori nella colonna A. Ogni valore nella colonna A includerà quindi l’apostrofo. Quando in seguito esegui Trova e sostituisci, gli zeri iniziali saranno ancora presenti e non otterrai alcun tentativo di notazione scientifica.

Il motivo per cui funziona è perché l’apostrofo è un indicatore per Excel che il contenuto della cella deve essere trattato come testo. L’apostrofo non viene visualizzato nel foglio di lavoro, ma fa parte del contenuto della cella, come puoi vedere guardando la barra della formula.

Un altro approccio consiste nel bypassare l’utilizzo di Trova e sostituisci per eliminare i trattini. Usa invece la funzione SOSTITUISCI per rimuoverli, in questo modo:

=SUBSTITUTE(A1,"-","")

La funzione SOSTITUISCI del foglio di lavoro restituisce un valore di testo, quindi tutti gli zeri iniziali vengono mantenuti ed Excel non tenta di convertire i numeri per utilizzare un formato numerico.

Se è necessario rimuovere regolarmente i trattini da un intervallo di celle contenenti codici ISBN, potrebbe essere meglio utilizzare una macro per eseguire l’operazione. La seguente macro funziona su qualsiasi cella selezionata prima di eseguirla.

Sub RemoveDashes()

Dim c As Variant, sISBN As String

For Each c In Selection         sISBN = Application.Substitute(c, "-", "")

c.NumberFormat = "@"

c.Value = "'" & sISBN     Next End Sub

Fondamentalmente la macro fa tre cose: rimuove i trattini, formatta la cella come testo e rimette l’ISBN rimosso nella cella con un apostrofo prima di esso.

_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 (9927) 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: