Mini Corso Excel – appendice sul cerca vert

----------------Sponsor----------------

----------------Sponsor----------------

Salve a tutti !

Era un po’ che non pubblicavo qualcosa: ho avuto molto da fare negli ultimi tempi, per cui non sono proprio riuscito a scrivere nulla. Questa mattina però, mi sono imbattuto in un commento (pubblicato da un utente in uno degli articoli sul “corso di excel”), nel quale mi si fa una domanda, che riassumo più o meno così:

” è possibile, scrivendo un determinato testo in una cella, far comparire, nella cella a fianco, un determinato dato, prendendo come base dati un altro foglio di excel ? “

Fortunatamente Excel è molto completo come programma (ci si può fare davvero molto, ve lo garantisco), ed è compresa anche questa possibilità.

Vediamo brevemente come fare.

Partiamo dalla situazione di partenza. Una colonna intestata “Nome”, ed una colonna intestata “Età” (potrebbe essere qualsiasi altra cosa, ma è giusto per semplificare).

Vediamole:

Abbiamo poi un altro foglio di lavoro, all’interno del quale ci sono i dati dai quali vogliamo attingere. Vediamolo:

Ora, il nostro problema è: vorremmo poter “scrivere” (a mano), nel primo foglio, uno dei nomi di battesimo contenuti nel secondo foglio, e vorremmo che nella colonna “Età”, venisse scritto in automatico il valore corretto.

Tutto questo è facilmente risolvibile con la cara vecchia formula “cerca.vert”.

Vediamo come fare.

“Dipingiamo” la colonna B (dove c’è l’età), del primo foglio (quella che è ancora vuota), di un colore a nostra scelta. Per farlo, selezioniamo la colonna con il mouse, e scegliamo un colore di riempimento delle dalla barra degli strumenti. Il colore ci serve a ricordare che la colonna B del primo foglio, è una colonna “speciale”, all’interno della quale vi saranno delle formule (da non modificare).

Il risultato è più o meno questo:

Ora, nella prima colonna, proviamo a scrivere “Giovanni”. Chiaramente nella colonna età non comparirà niente (ovviamente… non ci sono ancora le forumule !!! :-)  )


E allora provvediamo subito. Abbiamo detto che dobbiamo scrivere una formula con il cerca.vert che “punti” su un altro foglio per il procacciamento dei dati. Vediamo come scriverla.

NB: nel mio caso, il primo foglio si chiama “Foglio1″, il secondo foglio si chiama “Dati” (per rinominare i fogli vi basta fare doppio click sul loro nome, nella parte in basso della finestra di excel, ed inserirne uno nuovo).

La formula che andiamo a scrivere, dirà ad Excel di leggere il valore della cella A2, andare a vedere nel foglio “Dati”, cercare quel valore (il nome), e restituirci il valore a fianco (l’età).

E cioè:

=cerca.vert(quale_valore;dove_lo_cerco;con_quale_criterio)

Per cui posizioniamoci nella cella B2 e scriviamo la formula.

La formula è quindi:

=cerca.vert(A2;dati!A:B;2;falso)

che significa appunto:

cerca il valore che vedi nella cella A2;
cercalo nel foglio dati e precisamente nell’intervallo che comprende le colonne da A a B;
una volta che l’hai trovato, dammi il valore che gli sta a fianco (il 2 significa la seconda colonna a partire dalla ” A “, compresa la A);
sii preciso nei risultati

Specifico che il parametro “dove lo cerco”, ha la seguente forma:

nome_foglio!colonna_iniziale:colonna_finale

Si fa molto più in fretta a selezionare le colonne col mouse (dopo che avete scritto il punto e virgola dopo “A2″, nella formula), piuttosto che scrivere a mano… ma sapere cosa vuol dire direi che non guasta.

A questo punto, premiamo invio, e vediamo il risultato:

Excel va a pescare il valore “Giovanni” e mi restituisce il valore che ha a fianco, cioè l’età.

Ora selezioniamo la cella B2 e premiamo sulla tastiera “Ctrl C ” , cioè contemporaneamente il tasto CTRL e il tasto C (è la scorciatoia per la funzione “copia”).

Fatto ciò, selezioniamo un bel po’ di celle sotto la B2, in questo modo:

Una volta selezionate le celle, premiamo CTRL V (che è la scorciatoia per incollare i dati, cioè la nostra formula).

Che schifezza di risultati ! Eppure è normale che sia così: nelle celle a fianco a quelle che non hanno valori (i nomi di battesimo), comparirà un tristissimo ” #N/D “, che significa semplicemente che Excel non trova quello che vogliamo.

A questo punto, possiamo DIMENTICARCI della colonna B (l’abbiamo preparata a puntino con la sua bella formula all’interno), e possiamo iniziare a lavorare sulla colonna A, inserendo i nomi che vogliamo per vedere se c’è corrispondenza con i nostri dati.

Un piccolo esempio:

Come possiamo vedere, le celle nelle quali scriviamo un nome di battesimo contenuto nel foglio dati, darà come risultato nella colonna a fianco l’età della persona. In caso non vi sia corrispondenza, il risultato sarà, ovviamente ” #N/D.

Spero che la guida possa essere stata utile a molti !

Alla prossima,

Gorilla

  • Trackback are closed
  • Comments (49)
  1. avatar

    lascia stare, meglio farti un giro a lourdes

  2. avatar

    @VALERIA

    Ciao Valeria !

    Ehhhhh, una soluzione ci sarebbe, ma è un po’ cervellotica… provo a spiegare.

    Occorre segnalare, nel foglio dati (il primo foglio, dove c’e’ l’elenco dei nomi con l’età), se ci sono dei nomi duplicati. Per fare questo creiamo una tabella pivot, selezionando tutti i nostri dati, e mettendo come campo riga il nome, e come dati “conteggio di nome”. In questo modo otterremo il conteggio di quante volte il nome (o la concatenata di nome+cognome) è stato ripetuto.
    A questo punto, una volta fatta la pivot, posizioniamoci di fianco al nostro foglio dati, e nella riga che corrisponde al primo nome, scriviamo un cerca vert, che vada ad effettuare il controllo di duplicazione.
    Diremo quindi alla funziona cerca vert, di cercare il nome che c’e’ nella prima riga e di andarlo a cercare nella pivot, e di restituirci il valore del conteggio.
    Trasciniamo la formula per tutti i nostri dati. A questo punto avremo l’ultima colonna nella quale verrà segnalato se il nome è univoco (valore 1) oppure no (valore 2 o maggiori).

    Nel secondo foglio, dove vogliamo scrivere il nome per far cercare l’età col cerca.vert, dobbiamo aggiungere una seconda cella, dopo quella per cercare l’età, che cerchi anche il valore di duplicazione.

    In questo modo, inseriremo il nome, e verrà fuori, oltre all’età, anche il parametro che ci dice se il nome è duplicato oppure no. Nel caso fosse duplicato, dovremo andare a mano a cercare qual è il nome che veramente ci interessa controllare.

    Un piccolo screenshot lo trovi qua:

    http://it.tinypic.com/r/a123at/5

    Spero di averti aiutato !

    Gorilla

  3. avatar
    • VALERIA
    • aprile 22nd, 2010

    GRAZIE MILLE. PROVERO’ SUBITO AD APPLICARE CIO’ CHE MI HAI CONSIGLIATO!!!

  4. avatar
    • VALERIA
    • aprile 27th, 2010

    VORREI TROVARE UNA FORMLA CHE FACCIA CIO’ CHE DESIDERO SENZA TABELLE PIVOT E ALTRO. IL PIU’ SEMPLICE POSSIBILE.

    ESEMPIO
    COLONNA A COLONNA B COLONNA C (NOME DA CERCARE)
    ROSSI 6 ROSSI
    VERDI 7
    GIALLI 1
    ROSSI 4
    BLU 9
    BLU 8
    ROSSI 5
    ROSSI 2

    VOGLIO UNA FORMULA CHE IN BASE AL NOME CERCATO MI PERMETTA DI STAMPARE:
    ROSSI
    6

    ROSSI
    4

    ROSSI
    5

    ROSSI
    2

  5. avatar

    @VALERIA

    Senza pivot mi sembra un’impresa impossibile !

    Magari qualcun’altro che legge è in grado di darci qualche consiglio ! Chiunque abbia un’idea, si faccia avanti !

  6. avatar
    • VALERIA
    • aprile 29th, 2010

    Ciao, sono ancora io. Ho quasi finito il mio programma.
    colonna A
    Nomi
    Piero
    Claudio
    Piero
    Antonio
    Lucia
    Piero

    ho già la formula che in base alla ricerca per nome mi visualizza solo quello cercato lasciando le celle con nomi diversi con #valore!.
    A questo punto vorrei nascondere la visualizzazione di #valore! o ravvicinare automaticamente i nomi dell’elenco che corrispondon al nome cercato.

  7. avatar
    • VALERIA
    • aprile 29th, 2010

    cioè, se cerco piero… visualizzo 3 volte piero ma nelle rispettive righe. Vorrei visualizzarlo 3 volte ma in righe vicine. una sorta di ordimento automatico

  8. avatar
    • PHOENIX
    • settembre 10th, 2010

    X GORILLA.
    HO UN PROBLEMA…!
    ESEMPIO DEL PROBLEMA:
    3 FOGLI DI LAVORO: FOGLIO1, FOGLIO2, FOGLIO3.
    NEL FOGLIO1 HO NELLE CELLE DA A1-A10 ALCUNI VALORI, LA STESSA COSA VALE PER LE CELLE DELLE COLONNE B-C-D.
    LA SITUAZIONE DEL FOGLIO1 è PRESENTE ANCHE NEL FOGLIO2
    TRAMITE LA FORMULA CERCA VERT NN HO NESSUN PROBLEMA A TRASPORTARE I VALORI PRESENTI NELLE CELLE A-D DEL FOGLIO1 AL FOGLIO3;
    IL PROBLEMA ARRIVA QUANDO VOGLIO SPOSTARE I DATI PRESENTI NEL FOGLIO2 AL FOGLIO3.
    UTILIZZANDO SEMPRE LA FORMULA CERCA VERT KE HA FUNZIONATO X SPOSTARE I DATI DAL FOGLIO1 AL FOGLIO3, QUESTA VOLTA NN FUNZIONA, QUINDI NN MI FA SPOSTARE I DATI DAL FOGLIO2 AL FOGLIO3.
    PERCHE’ NN FUNZIONA..?
    GRAZIE…!!

  9. avatar

    @PHOENIX

    Se la memoria non mi inganna il problema deriva dal fatto che il cerca vert (almeno in alcune versioni di office) non funziona su “altri cerca vert”.

    In particolare, il cerca vert “pesca” da un foglio dati normale, ma ha qualche problema sui fogli dati creati tramite cerca vert (in realtà nelle celle non ci sono dei valori, ma solo dei collegamenti ad altre celle, fatte appunto col cerca vert). Mi sa che in questo caso l’unica cosa per risolvere è effettuare un “copia / incolla valori” (occhio, incolla solo valori), nel foglio dati 2, in modo da poter effettuare il cerca vert sul foglio dati tre. Chiaramente perderai così la “dinamicità” del foglio 2: se infatti aggiornerai il foglio 1, il foglio 2 non si aggiornerà in automatico, dato che le formule saranno a quel punto state sostituite da dei semplici dati (con il copia incolla valori).

    Fammi sapere se hai “risolto” !

    Gorilla

  10. avatar

    Hhhhhmmmm… ho appena fatto una prova con Excel 2008 per Mac, e questo problema con il “cerca vert del cerca vert” non ce l’ho… eppure mi ricordavo che con office 2003 questo problema effettivamente c’era… non so, fammi sapere se posso aiutarti in qualche altro modo… forse non ho afferrato realmente il tuo problema !

Comment are closed.