Altro caso tipico è quello della ricerca di un valore in una tabella non disposta in righe ma in righe e colonne da cui dobbiamo estrarre un particolare valore corrispondendte ad una determinata riga e colonna.
Problema Il problema che vogliamo risolvere è di cercare un valore in una tabella avendo come riferimenti il codice associato alla riga e il codice associato alla colonna, negli esempi sotto useramo la tabella qui a lato. |
Soluzione con INDICE+CONFRONTA
La soluzione con INDICE+CONFRONTA è simile a quella applicata al caso della
ricerca con 1 valore, in questo caso viene cercato un valore per avere l'indice di riga e un secondo per avere l'indice di colonna.
Se avessimo i due parametri da cercare in H4 e I4 (come nell'esempio allegato) la formula sarebbe:
=INDICE(D4:F8;CONFRONTA(H4;C4:C8;0);CONFRONTA(I4;D3:F3;0))
Vediamo come funziona la formula scritta cosi con la rappresentazione ad albero data dal nostro file di analisi:
- La prima funzione CONFRONTA cerca il valore contenuto in H4 ("c") all'interno delle celle C4:C8 (righe), con corrispondenza esatta ( parametro 0): il risultato è la 3°posizione;
- La seconda funzione CONFRONTA cerca il valore contenuto in I4 ("b") all'interno delle celle D3:F3 (colonne), il risultato è la 2°posizione;
- La funzione INDICE cerca il valore della 3° riga (il risultato del primo confronta) e la 2° colonna (il risultato del secondo confronta) all'interno delle celle D4:F8, restituendo il valore 8.
|
Soluzione con calcoli di matrice
Una soluzione alternativa è quella di usare una
formula di matrice: la precisazione da fare è che in questo caso vengono sommati tutti i valori che corrispondono al criterio, non viene "trovato" solo il primo valore, è adatta quindi solo a tabelle in cui non siano presenti valori ripetuti.
Se avessimo i due parametri da cercare in H8 e I8:
=SOMMA(SE(C4:C8=H8;SE(D3:F3=I8;D4:F8)))
L'immagine qui a lato mostra come funziona una formula di matrice in questo caso:
- si parte dalla tabella completa dei dati a destra, il primo argomento del SE più interno;
- il SE più interno, quello che lavora sulle colonne, "riduce" i valori ai soli della colonna corrispondente;
- il SE più esterno filtra sulle righe (i dati già filtrati) riducendo la matrice al solo valore che ci interessa.
|
Soluzione con CERCA.X (disponibile solo dalla versione 365 o 2021)
Altra soluzione è quella di usare due funzioni CERCA.X una all'interno dell'altra: il funzionamento è simile al caso precedente della formula di matrice.
Se avessimo i due parametri da cercare in H12 e I12:
=CERCA.X(H12;C4:C8;CERCA.X(I12;D3:F3;D4:F8))
L'immagina a lato mostra come funzionano i 2 CERCA.X in questo caso:
- si parte dalla tabella completa dei dati a destra;
- il primo CERCA.X che lavora sulle colonne produce come risultato la sola colonna dei valori corrispondenti;
- il secondo CERCA.X può quindi cercare normalmente il valore sulla riga.
|
L'esempio completo é scaricabile da questo link:
Es402.xlsx
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.