Renzo ha un elenco di codici postali in una colonna di un foglio di lavoro. Vorrebbe un modo per “comprimere” i codici in modo che gli intervalli di valori sequenziali si trovino su un’unica riga. Quindi, ad esempio, invece di 35013, 35014 e 35015 che occupano tre righe, dovrebbero apparire su una singola riga come 35013-35015.
Ci sono un paio di modi per farlo, con o senza macro. Sul lato “senza macro” della recinzione, ci sono una serie di approcci diversi e tutti implicano l’uso di colonne aggiuntive per contenere risultati intermedi.
Ad esempio, supponiamo che tu abbia i tuoi dati nella colonna A, a partire dalla cella A2, e che la cella A1 sia vuota (non contiene nemmeno il testo dell’intestazione). In questo caso puoi inserire la seguente formula nella cella B2:
=SE(NON(A2-A1=1);A2;SE(A3-A2=1;B1;A2))
Quindi, nella cella C2, inserisci la seguente lunga formula:
=SE(NON(A3-A2=1);SE(A2-A1=1;TESTO(B1;"00000") & " - " & TESTO(B2;"00000");TESTO(A2;"00000"));"")
Ora puoi copiare le formule delle celle B2:C2 nelle rispettive colonne. Quello che ottieni nella colonna C è la serie condensata di codici postali.
Se desideri utilizzare un approccio macro, non sono necessarie colonne intermedie. È possibile scrivere una macro che sostanzialmente comprime l’elenco dei codici postali sul posto. La seguente macro scorre l’intervallo di celle selezionato e le sostituisce con l’elenco condensato:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)