Cerca vert | SCEGLI e CONFRONTA per una matrice_tabella dinamica (7/10)

samuele agnolin
  • 14 settembre 2016
  • livello: avanzato   4 minuti
funzione scegli

Come fare per rendere dinamica la matrice tabella nel CERCA VERT? Continua la nostra esplorazione delle potenzialità della funzione cerca verticale.

Subito un esempio.

Nell’immagine sottostante abbiamo…

…due tabelle di partenza:
– listino Italia
– listino Spagna

…il risultato finale: le quantità di ciascun prodotto

cerca vert matrice dinamica

Per questioni di spazio lavoriamo su due listini e ricaviamo la quantità di due prodotti. Ma immaginiamo che nella realtà ci troviamo di fronte a tanti listini e centinaia di prodotti.

Come ottenere la quantità? Utilizzando un CERCA.VERT

Qual è il problema? Che nella colonna I il cerca vert deve prendere come matrice tabella il listino Italia, nella colonna J il listino Spagna.

Possiamo scrivere due cerca vert diversi per le due colonne? Sì, ma se i listino fossero decine ci troveremmo a scrivere altrettanti cerca vert, tutti diversi l’uno dall’altro nel terzo parametro, la matrice_tabella.

Il nostro cerca vert sarà

=CERCA.VERT($H6;B$4:C$8;2;0) per l’Italia

=CERCA.VERT($H6;E$4:F$8;2;0) per la Spagna

Come fare per scrivere una sola volta il cerca vert e trascinarlo poi su tutte le celle? Dobbiamo rendere dinamico il parametro matrice_tabella. Come?

Ci sono almeno 2 soluzioni.

Utilizzare nel CERCA.VERT i NOMI e la funzione INDIRETTO

Soluzione 1

 A  
Attribuire alle celle del listino Italia il nome catalogo_italia e a quelle del listino Spagna il nome catalogo_spagna

come definire nomi

 B  
concatenare la scritta “catalogo_” all’intestazione Italia in questo modo “catalogo_”&I$5

 C  
nel cerca.vert sostituire la matrice tabella (B$4:C$8) con la funzione INDIRETTO(“catalogo_”&I$5)
il cui significato è: concatena “catalogo_” e I$5 restituendo “catalogo_italia”, poi INDIRETTO (funzione della categoria Ricerca e riferimento) trasforma la stringa di testo “catalogo_italia” in un riferimento vero e proprio, permettendo quindi al CERCA VERT di puntare a catalogo_italia che rappresenta l’intervallo di celle B$4:C$8

=CERCA.VERT($H6;INDIRETTO(“catalogo_”&I$5);2;0)

cerca vert funzione indiretto

Utilizzare nel CERCA.VERT le funzioni SCEGLI E CONFRONTA

Soluzione 2

 A  
nel cerca.vert sostituire la matrice tabella (B$4:C$8) con la funzione SCEGLI(1;catalogo_italia;catalogo_spagna)
il cui significato è:
scegli il valore 1 tra i due valori catalogo_italia e catalogo_spagna

In generale la funzione SCEGLI ha un primo parametro numerico che indica quale tra i parametri successivi al primo deve essere restituito.

Quindi
SCEGLI(1;catalogo_italia;catalogo_spagna) restituisce catalogo_italia
SCEGLI(2;catalogo_italia;catalogo_spagna) restituisce catalogo_spagna

 B  
sostituiamo al primo parametro della funzione SCEGLI il risultato della funzione CONFRONTA: CONFRONTA(I$5;$I$5:$J$5;0)
la quale cerca I$5 (italia) nell’intervallo $I$5:$J$5 e ne restituisce la posizione, quindi 1

La funzione completa sarà quindi:

=CERCA.VERT($H6;SCEGLI(CONFRONTA(I$5;$I$5:$J$5;0);catalogo_italia;catalogo_spagna);2;0)

funzione scegli

Questo articolo fa parte del tutorial sul cerca verticale

2 Comments

You can post comments in this post.


  • Sei un mito!

    Steven 3 mesi ago Reply


    • Grazie Steven! :-)

      samuele 3 mesi ago Reply


Inserisci un commento