Excel: problemi del CAP

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.