Ricerca in una tabella con 2 (o più) valori
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Avendo la necessità di cercare in una tabella più di un valore non possiamo utilizzare direttamente il CERCA.VERT come nel caso di 1 valore, anche se una soluzione può essere quella di utilizzare una colonna di appoggio che continene entrambi i codici concatenati. Eistono però delle soluzioni più eleganti al problema e che non necessitano di altre colonne che complicano e "sporcano" sempre un po' i nostri fogli.


Problema
Per definrie il problema: avendo una tabella di dati strutturata in righe vogliamo ricercare le informazioni in base a due parametri e riportarle in un'altra parte del nostro foglio di calcolo.

Nel nostro esempio sono schematizzate con Cod.1 e Cod.2 ed a,b,c in entrambe le colonne, ma un caso tipico potrebbe essere un'anagrafica in cui Nome e Congnome sono su due colonne distinte.

Soluzione con INDICE+CONFRONTA
Una soluzione è quella di utilizzare una combinazione di INDICE e CONFRONTA in modo simile a come vedevamo nel caso di 1 valore scrivendola come formula di matrice.
Avendo la tabella qui a lato e in F4 e G4 i due codici da cercare la formula sarà:
=INDICE(D3:D17;CONFRONTA(1;(B3:B17=F4)*(C3:C17=G4);0);1)
Che è una formula di matrice: dovrà essere confermata con CTRL+MAIUSC+INVIO (nelle versioni prima della 365) e verrà visualizzata racchiusa in parentesi graffe.[/F]
Qui a lato la rappresentazione ad albero della formula data dal nostro file di analisi.
A differenza dell'esempio che abbiamo fatto con la ricerca per 1 valore, in questo caso il confronto viene fatto fra 1 (che indica anche il valore VERO) e una matrice ottenuta "moltiplicando" i due confronti fra i dati da cercare e le colonne della tabella.
Lo schema qui a destra mostra come viene fatto il calcolo in un caso come questo, nell'esempio allegato potere vedere meglio i calcoli parziali nei commenti delle celle dei risultati parziali, la prima colonna a sinistra.
Per provare a spiegare il calcolo a chi non ha dimestichezza con le formule di matrice:
  1. la formula (B3:B17=F4) ha come risultato quello rappresentato dall'ultimo commento a destra (un vettore) di valori Vero o Falso se la cella è uguale al parametro in F4;
  2. la formula (C3:C17=G4) fa la medesima cosa con l'altra colonna e il parametro in G4 e ha come risultato quello rappresentato dal secondo commento;
  3. per capire il risultato (quello riportato nel primo commento a sinistra) dobbiamo vedere le celle in cui c'è Vero come se contenessero 1 (la rappresentazione del valore Vero in Excel) la cella risultante conterrà 1 solo se entrambe le celle delle colonne (vettore) conterrà 1, in pratica quando entrambe le condizioni sono verificate.

Soluzione con SOMMA.Più.SE
Una soluzione alternativa adatta solo ad alcuni casi (i valori da cercare devono essere numerici e essere presenti una sola volta nella tabella) ma più semplice per molti utenti è quella di usare la funzione SOMMA.Più.SE.
Se avessimo i due parametri da cercare in F10 e G10 (come nell'esempio allegato) la formula sarebbe:
=SOMMA.PIÙ.SE(D3:D17;B3:B17;F10;C3:C17;G10)
In questo caso il funzionamento della formula è di più facile comprensione:
  1. vengono sommati tutti i valori delle celle D3:D17;
  2. in cui i valori della cella B3:B17 sono uguali a F10;
  3. e, contemporaneamente, i valori di C3:C17 sono uguali a G10.

Soluzione con CERCA.X (disponibile solo dalla versione 365 o 2021)
Un'altra soluzione è quella di utilizzare la nuova funzione CERCA.X che, a differenza del CERCA.VERT, permette di separare l'intervallo in cui cerchiamo i valori dall'intervallo dei risultati, è disponibile però solo per chi ha installato la versione 365.
Avendo i due parametri da cercare in F16 e G16 (come nell'esempio allegato) scriveremmo la formula cosi:
=CERCA.X(F16&G16;B3:B17&C3:C17;D3:D17)
Nel'immagine qui a lato vediamo come funziona la formula:
  1. il valore da cercare diventa la "somma" (concatemamento) dei due valori F16 & G16;
  2. vengono cercati nella "somma" di due colonne di valori, come si può vedere, la funzione & applicata alle due colonne di valori da come risultato una colonna unica con i 2 valori "sommati" (concatenati), è un'operazione di matrice fra due vettori;
  3. il risultato è il corripondente valore nella colonna D3:D17.


L'esempio completo é scaricabile da questo link: Es388.xlsx

Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it