Formula per validare un indirizzo email

Creaiamo una formula per validare un indirizzo email

Oggi mi è capitato un elenco di nomi, cognomi ed indirizzi email veramente lungo. Quello che dovevo fare era valutare se gli indirizzi email fossero formalmente validi. Excel, infatti, non si preoccupa di controllare se un indirizzo email è valido o meno, se in una cella trova un “@” per lui è un indirizzo valido e, automaticamente, lo trasforma in link. Capita, però, che le persone mettano di tutto e di più nelle celle dedicate agli indirizzi email, incluse email con spazi, email senza nulla dopo il “.”, numeri di telefono e chissà cos’altro. Vediamo allora una formula, un po’ complessa per dirla tutta, che sia in grado di valutare se un indirizzo è formalmente valido.

Visto che non mi è possibile metterla tutta di seguito (Blogger me la trancia) allora ne approfitto per suddividerla in frammenti e spiegarvela, se invece volete copiarla ed incollarla in un vostro file allora scaricate questo file Excel 🙂

Iniziamo:

=SE(VAL.ERR(RICERCA(" ";A1)); 

Ecco il primo controllo, se la ricerca di uno spazio ritorna un errore di tipo “#VALORE” allora posso andare avanti, se mi ritorna un numero, invece, vuol dire che è presente uno spazio e quindi non è una mail valida e la formula restituisce il valore FALSO.

SE(VAL.ERR(RICERCA("@";A1));FALSO;

Secondo controllo, a differenza di prima controllo se la ricerca del simbolo at (@) restituisce un errore di tipo #N/D allora la mail non è valida, quindi la formula restituirà FALSO, altrimenti si prosegue con il prossimo controllo

SE(VAL.ERR(RICERCA(".";STRINGA.ESTRAI(A1;RICERCA("@";A1)+2;
LUNGHEZZA(A1))));FALSO;

Qui la cosa si fa un po’ più complessa, sempre usando il controllo sull’errore faccio una ricerca del punto ( . ) nella stringa che parte dalla posizione di “@” + 2, questo perché ci deve essere almeno un carattere dopo il simbolo @, altrimenti la mail non sarebbe valida, se anche questo controllo passa vado all’ultimo controllo

SE(VAL.ERR(LUNGHEZZA(STRINGA.ESTRAI(STRINGA.ESTRAI(A1;RICERCA("@";A1);
 LUNGHEZZA(A1));RICERCA(".";STRINGA.ESTRAI(A1;RICERCA("@";A1);
LUNGHEZZA(A1)));LUNGHEZZA(A1))));FALSO;
SE(LUNGHEZZA(STRINGA.ESTRAI(STRINGA.ESTRAI(A1;RICERCA("@";A1);
LUNGHEZZA(A1));RICERCA(".";STRINGA.ESTRAI(A1;RICERCA("@";A1);
LUNGHEZZA(A1)));LUNGHEZZA(A1)))<3;FALSO;VERO))));FALSO)

Questo è un unico controllo che verifica se, incluso il punto, ci siano almeno 3 caratteri, inoltre di sono i risultati FALSO di tutti i precedenti SE.

Passato anche questo controllo la nostra formula restituirà VERO.

Per adattare questa formula dovrete solo sostituire il riferimento A1 con la l’indirizzo della cella che contiene l’indirizzo email da controllare

Come al solito sono sempre disponibile per ulteriori chiarimenti, buon divertimento 🙂


'. '
'; $customMessages[] = "Aiutami a far conoscere questo blog ad altre persone perché possa aiutare anche loro, condividi questo articolo su Facebook, Twitter, Google+ o Linkedin, non ti costa nulla e mi aiuterà a diffonderlo dandomi l'ispirazione per scrivere altri articoli."; $customMessages[] = 'Hai trovato questo blog utile o interessante? Lascia una tua opinione sul guestbook per farmi sapere cosa ne pensi e come possa migliorarlo.'; $customMessages[] = 'Sai che puoi iscriverti anche alla newsletter e ricevere le novità direttamente nella tua email? Iscriviti adesso, riceverai solo gli aggiornamenti e niente SPAM. Il tuo indirizzo, inoltre, non sarà condiviso con nessuno.'; $id = rand(0, count($customMessages) -1); echo '
'. '
MESSAGGIO DALL\'AUTORE
'. $customMessages[$id]. '

'; ?>

Gianfranco (Admin)

Appassionato di informatica, fotografia e di tecnologia in generale. Esperto nell'uso di Excel e con tanta voglia di condividere le sue conoscenza con il mondo, sempre pronto a dare una mano (ma non più di due volte, altrimenti rimango senza).

Potrebbero interessarti anche...

7 risposte

  1. Ester Pagano ha detto:

    avrei un grosso problema a sistemare un elenco csv contatti in excel per estrarre da una stessa cella piena di parole e punteggiatura, solo l'email. ho applicato la formula lunga qui sopra ma mi dice che contiene errore.

    la mia email: potz1090@gmail.com

    desidero una mano xk ho da sistemare 5900 contatti..se ti va di spiegarmi è gradita risposta sulla mia email.ti ringrazio

    • gianfranco ha detto:

      Ciao, in effetti quella formula serve a validare un indirizzo email, al momento non mi viene in mente nessuna formula che estragga la mail da una cella.

      Se conosci il VBA ti posso scrivere al volo una funzione che possa farlo.

  2. Gianluca ha detto:

    Esiste Easy email exctractor che ti consente di estrarre velocemente la mail

  3. angelo ha detto:

    Molto interessante. Segnalo però che il file non è scaricabile.
    Potresti mandarmelo?
    Grazie
    angelo

  4. cristina ha detto:

    CIAO, IL FILE NON E’ SCARICABILE, E’ POSSIBILE RIPRISTINARLO? GRAZIE

  5. cristina ha detto:

    CIAO, IL DOWNLOAD NON E’ DISPONIBILE, E’ POSSIBILE RIPRISTINARLO? GRAZIE

  1. 18 Novembre 2015

    […] qui per un altro piccolo tutorial su Excel. Ieri ho postato una formula utile per validare un indirizzo email e qualche amico mi ha chiesto delucidazioni su un paio di funzioni, una delle quali è […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.