Tophost

Excel - Isolare i dati di una colonna togliendo ciò che non serve

google-plus Scritto da . Postato in Excel

Una settimana fa, vi avevo allietato tongue_out scrivendo in merito al caso che mi era capitato da un cliente di dover esportare e importare dati da un gestionale a un altro, combattendo con una colonna che "accidentalmente", conteneva sia gli indirizzi email, che gli IBAN dei fornitori.

800 righe ben distribuite su un foglio di Excel contentente da dividere su due colonne... eek Come fare a dividerli partendo da un carattere contenuto all'interno delle celle interessate, lo potete leggere qui:

Excel - Dividere i dati di una colonna per tipologia

Il fatto, è che nel precedente articolo, ho isolato gli indirizzi email, non gli IBAN che ancora sono rimasti nella famigerata colonna, in attesa di essere estratti ed isolati dai dati spuri.

Dopo aver benedetto il cliente che aveva inserito i dati nel precedente gestionale così come gli veniva ed aver isolato le mail, ora dovevo pensare a qualcosa che accomunava gli IBAN.

Ma se pensavo di partire con le due prime lettere, "IT" mi sbagliavo di grosso: infatti, tante email terminano con il tld ".it"; E se trattasi di un IBAN straniero? Non avrebbe più avuto il prefisso "IT" davanti. Insomma un rebus senza soluzione.

Così, mi si è accesa la lampadina, e sono partito da quanto già fatto, gli indirizzi email estratti. Eh già, perché se da un lato, non trovavo nulla che nell'immediato accomunasse tutti gli IBAN, dall'altra c'era qualcosa che accomuna le email: il carattere "@".

Il sunto, è invertire la formula già spiegata per ottenere il contrario di quanto si era estratto in precedenza. Ovvero, copierò nella colonna adiacente solo e unicamente quello che non conterrà la 'famosa' chiocciola, togliendo ovviamente ciò che non serve: gli indirizzi email dei fornitori.

Nella pratica, è l'esercizio della settimana precedente, preso al contrario.

  • La funzione RICERCA (cerca caratteri specifici all'interno di una determinata stringa di caratteri, o di una cella) mi aiuta a cercare il carattere '@' nelle celle.
  • La funzione SE, mi consentirà di copiare il valore della cella solo se la condizione è falsa. Dove cioé non ho trovato la chiocciola.
NB: la funzione RICERCA, se non trova quello che che gli abbiamo indicato, come risultato restituisce un errore! (#VALORE).
  • Per evitare che la colonna sia invasa da errori, prevedo l'uso della funzione SE.ERRORE. Se RICERCA da errore, grazie a lei, sostituiremo l'errore con uno spazio "" (cella vuota).

E' il momento di mettere insieme queste funzioni per ottenere il risultato desiderato: Isolare IBAN e quant'altro non sia un'indirizzo email.

Visto che la funzione finale sarà il risultato di tre funzioni annidate, parto dall'interno verso l'esterno:

Funzione RICERCA

All'interno delle singole celle, ciò che accomuna tutti gli indirizzi email è il carattere "@". Nella cella B1 digito : 

=RICERCA("@";A1)

funzione ricerca

La funzione ricerca, cercherà la posizione del carattere "@" all'interno della cella A1: Se il valore restituito è un numero, vuol dire che nella cella A1 è contenuto un indirizzo email...

Proseguiamo con la...

Funzione SE

...per dire ad Excel cosa deve essere inserire nella cella B1:

  • Se nella cella A1 è contenuto un indirizzo email, deve lasciare la cella B1 vuota ("").
  • Se non è un indirizzo email, deve copiare in B1 il contenuto della cella A1.

Con la funzione SE è presto fatto:

=SE(RICERCA("@";A1);"";A1)

se ricerca

Fatto! Lo pensavate così semplice??? laughing.

La cosa da tenere in conto, è che per tutte le volte che la funzione RICERCA trova cella vuota o altro contenuto (IBAN o chicchessia) restituirà errore. Il famigerato "#VALORE".

Ci facciamo dunque soccorrere dalla...

Funzione SE.ERRORE

Annidiamo quanto fatto fin'ora come primo argomento della funzione SE.ERRORE. Il secondo argomento sarà A1.

Modificate come segue la funzione contenuta nella cella B1:

=SE.ERRORE(SE(RICERCA("@";A1);A1;"");A1)

seerrore se ricerca

Ci siamo quasi!!! laughing

Ora, vi sembrerà strano, in quanto la funzione SE annidata, se stiamo a guardare, genererà sempre errore a meno che RICERCA non trova un indirizzo email. Purtroppo la funzione SE non restituirà nemmeno in caso contrario il valore della cella A1 perché non è fatta per gestire un errore.

Ma è proprio su questo che giochiamo! E' l'errore generato da RICERCA a dirci che non c'è un indirizzo email e che quindi il contenuto di quella cella ci interessa!

Per questo, la funzione SE.ERRORE, nel suo secondo argomento contiene A1. Se vi è un errore il contenuto della cella ci interessa! Quindi me lo deve restituire!

Ci siamo quasi????? eek

Avete capito bene! Non siamo ancora arrivati alla fine del nostro viaggio. Ci manca infatti un ultimo tassello che lo potrete capire solo se avete seguito i passaggi fino a qui. Ma proseguiamo...

Ultimi passaggi

Usate il riempimento automatico per copiare la funzione siffatta nelle celle sottostanti: Con il mouse, dopo aver selezionato la cella B1, puntate sul suo angolo inferiore destro.
Ora trascinate verso il basso.

Il risultato, è la colonna desiderata con solo i contenuti che non corrispondono ad indirizzi email.

Ma vi è un problema!!! Infatti, al posto delle celle vuote, mi ha inserito degli "0". confused

seerrore se ricerca 2

La soluzione a questo piccolo, orribile inconveniente, sta nell'usare la funzione SE un'ultima volta come secondo argomento della funzione SE.ERRORE:

=SE.ERRORE(SE(RICERCA("@";A1);A1;"");SE(A1=0;"";A1))

seerrore se ricerca se

Fatta la correzzione, si va nuovamente di riempimento automatico.

La colonna B conterrà le formule e non i dati reali mostrati. Se vogliamo dunque avere i soli dati, non ci resta che copiare tutta la colonna B dopo averla selezionata, selezionare una colonna vuota e fare Incolla speciale > Valori.

Considerazioni

Excel, consente di fare quasi tutto in fatto di gestire dati. La struttura delle funzioni, ne permette un uso molto ampio che sfiora il mondo della programmazione. Purtroppo, se non si hanno basi di programmazione è difficile usare Excel a certi livelli, ma si può sempre imparare.

In fondo, imparare è un ottima filosofia di vita, e il sapere spesso semplifica di molto la vita; Un po' come un foglio di lavoro Excel ben studiato!

Buon lavoro!!! wink


Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.