Come estrarre il codice postale da un elenco di indirizzi in Excel?
Quando si gestiscono informazioni sui clienti in Excel, è comune avere un elenco di indirizzi completi dove ogni voce contiene sia i dettagli della strada che il codice postale (cap). Se hai bisogno di isolare ed estrarre solo i codici postali da questi indirizzi, forse per le liste di distribuzione, analisi regionali o formattazione dei dati, separarli manualmente uno per uno può essere noioso e soggetto a errori, specialmente con grandi quantità di dati. Fortunatamente, Excel offre metodi pratici per estrarre rapidamente ed efficacemente più codici postali contemporaneamente senza sforzo manuale. Questo articolo fornisce istruzioni passo-passo per estrarre i codici postali dagli indirizzi utilizzando una formula di Excel e una soluzione tramite macro VBA.
Estrai il codice postale con una formula in Excel
Estrai il codice postale con una Funzione Definita dall'Utente in Excel
Estrai il codice postale con una formula in Excel
In molti elenchi di indirizzi comuni, il codice postale si trova alla fine della stringa dell'indirizzo e non è più lungo di 8 caratteri. Questo metodo è il più adatto quando tutti gli indirizzi nella tua lista seguono un formato coerente e il codice postale appare come l'ultimo elemento di ciascun indirizzo, separato da spazi.
Per estrarre rapidamente il codice postale utilizzando una formula, segui questi passaggi:
1. Seleziona una cella vuota dove vuoi che appaia il codice postale (ad esempio, B1 se il tuo indirizzo è in A1). Inserisci la seguente formula:
=MID(A1,FIND("zzz",SUBSTITUTE(A1," ","zzz",SUMPRODUCT(1*((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))=" "))-1))+1,LEN(A1))
2. Premi il tasto Invio. Il codice postale dall'indirizzo in A1 verrà visualizzato nella cella selezionata.
3. Per applicare questa formula ad altri indirizzi, seleziona la cella con la formula, trascina la maniglia di riempimento verso il basso lungo la colonna per coprire tutte le righe degli indirizzi e Excel estrarrà automaticamente il codice postale per ciascun indirizzo.
Suggerimento: Questa formula presuppone che il codice postale sia l'ultimo elemento dopo l'ultimo spazio nella stringa dell'indirizzo. Se i tuoi indirizzi sono strutturati diversamente, come codici postali che appaiono nel mezzo o separati da virgole, questa formula potrebbe non restituire il risultato corretto. Per estendere questo metodo ai codici postali internazionali o formati personalizzati, potresti aver bisogno di un approccio diverso o più avanzato, oppure prova la soluzione VBA qui sotto.
Estrai il codice postale con una Funzione Definita dall'Utente in Excel
Se i tuoi dati di indirizzo sono più complessi, inconsistenti o contengono codici postali in vari formati e posizioni all'interno della stringa, come mostrato nello screenshot seguente, una macro VBA può fornire opzioni di estrazione più flessibili. Questo metodo automatizzato elabora rapidamente un'intera colonna di indirizzi per isolare e restituire solo i codici postali, risparmiando tempo significativo e riducendo al minimo lo sforzo manuale.
1. Premi Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Nella finestra VBA, clicca su Inserisci > Modulo per creare un nuovo modulo. Copia e incolla il seguente codice VBA nella finestra del modulo:
Public Function ExtractPostcode(text As String) As String
Dim reg As New RegExp
Dim m As MatchCollection
reg.Pattern = "\b([A-Z]{1,2}\d{1,2}[A-Z]?\s*\d[A-Z]{2}|\d{5}(?:-\d{4})?|\d{6})\b"
reg.IgnoreCase = True
reg.Global = False
If reg.Test(text) Then
Set m = reg.Execute(text)
ExtractPostcode = m(0).Value
Else
ExtractPostcode = ""
End If
End Function
3. Dopo aver incollato il codice, nella finestra dell'editor VBA, scegli Strumenti > Riferimenti. Vedi screenshot:
4. Nella finestra di dialogo Riferimenti, seleziona Microsoft VBScript Regular Expressions 5.5 e clicca OK.
5. Torna al foglio di lavoro, e inserisci questa formula: =ExtractPostcode(A2), trascina la maniglia di riempimento verso il basso fino alle altre celle. Tutti i codici postali verranno visualizzati immediatamente, vedi screenshot:
Suggerimento: Con questo codice, puoi estrarre automaticamente i codici postali da qualsiasi paese o regione in Excel in pochi secondi; modificando semplicemente l'espressione regolare per adattarla alle regole del codice postale della tua area di destinazione, puoi adattarti rapidamente a diversi formati - come il “SW1A 1AA” del Regno Unito, il “12345-6789” degli Stati Uniti o il “100000” della Cina - aumentando notevolmente l'efficienza di pulizia e analisi dei dati.
Articoli correlati:
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!