Ieri Elisa mi ha sottoposto un problema in Excel che voglio riportare qui perché a) penso possa servire ad altri, b) sul momento ho escogitato una soluzione troppo macchinosa e c) oggi mi è venuta in mente una soluzione più semplice ed elegante.
Elisa estrae dati anagrafici da un gestionale remoto su cui non ha controllo e che offre solo l’esportazione verso Excel. La colonna del codice postale contiene un numero di 5 cifre che viene interpretato appunto come numero: gli zeri iniziali vengono eliminati. Come ripristinarli?
Sul momento ho risolto velocemente, annidando la funzione SE in modo da prevedere le quattro possibilità del numero di avere 2, 3, 4 o 5 cifre, e ho ottenuto il seguente mostro, funzionante ma inguardabile:
=SE(LUNGHEZZA(A2)=2;”000″&A2;
SE(LUNGHEZZA(A2)=3;”00″&A2;
SE(LUNGHEZZA(A2)=4;”0″&A2;A2)))
Ripensandoci stamattina, mi è venuta in mente quest’altra soluzione, molto più breve ed elegante:
=RIPETI(“0”;5-LUNGHEZZA(A2))&A2
Ripensandoci ancora questa sera, mi sono ricordato (finalmente) che in Excel 2007 e 2010 basta dare il formato speciale CAP Italia che aggiunge automaticamente gli zeri iniziali senza bisogno di funzioni.
Il che conferma il vecchio adagio, che per essere brevi ci vuole tempo.
ciao ti suggerisco anche questa
=DESTRA(“00000″&A2;5)
è un po come la tua seconda soluzione ma più semplice
ci vedremo presto … con monica ? 🙂
Renato, mi piace! Però bastano tre zeri 🙂 =DESTRA(“000″&A2;5)(ma ovviamente il formato speciale vince su tutte le funzioni).
A presto.
Solo per completezza, segnalo che, sotto excel 2003, utilizzo il formato – celle – personalizzato – 00000.
E’ pur vero che, quando lo riapro, excel ha impostato sua sponte il formato – Speciale – C.A.P.
Paolo, ho controlato incredulo e hai ragione, questo formato speciale era già in Excel 2003 ma non l’avevo mai notato. In verità non mi ero mai posto il problema del CAP prima d’ora.
Adesso salterà fuori qualcuno a dire che c’era da Excel 2000?