www.valterborsato.it

Fino al 2020, la scelta di quale Funzione di ricerca di Excel applicare dipendeva soprattutto dal contesto specifico.
In scenari semplici, si poteva optare per il classico CERCA.VERT o, per il CERCA.ORIZZ. In situazioni più complesse, ci si affidava all'abbinamento tra INDICE e CONFRONTA.
Il ricorrere a Funzioni così diverse fra di loro è stato superato con l'introduzione della nuova Funzione CERCA.X
CERCA.X rappresenta un'evoluzione significativa rispetto alle precedenti Funzioni.
CERCA.X è in grado di eseguire ricerche sia in direzione verticale che orizzontale, permettendo di cercare valori a sinistra o al di sopra dell'intervallo di riferimento. Inoltre, consente la ricerca con criteri multipli e può restituire non solo singoli valori, ma anche intere colonne o righe di dati.
CERCA.X è una Funzione di ricerca potente, capace di superare molte delle limitazioni presenti nel Cerca verticale.

La Funzione CERCA.X

[01] - Breve confronto introduttivo fra la nuova Funzione CERCA.X e CERCA.VERT
[02] - Sintassi della Funzione CERCA.X
[03] - Esempio base di utilizzo della Funzione CERCA.X e concatenazione dei risultati
[04] - Ricerca orizzontale dei dati 
[05] - Gestire il codice di errore #N/D con la Funzione CERCA.X
[06] - Impostare una ricerca dati per approssimazione
[07] - Ricerca con corrispondenza parziale dei dati (applicare caratteri jolly)
[08] - CERCA.X per restituire più colonne o righe (adiacenti o meno)
[09] - Inserire più criteri di ricerca nella Funzione CERCA.X
[10] - Considerazioni conclusive sulla Funzione CERCA.X

CERCA.X e CERCA.VERT sono entrambe Funzioni di Excel utilizzate per cercare dati, ma differiscono per potenza e flessibilità.
La Funzione CERCA.X è stata rilasciata da Microsoft nel 2019. Inizialmente disponibile solo per gli utenti di Office 365 (ora Microsoft 365) che facevano parte del programma Insider, è stata poi distribuita gradualmente a tutti gli utenti di Excel nel corso del 2020, come parte di un aggiornamento generale della suite.
Questa Funzione è stata introdotta per migliorare le capacità di ricerca dei dati, andando a sostituire e ampliare le funzionalità offerte da CERCA.VERT e CERCA.ORIZZ.
CERCA.VERT è una storica Funzione di Excel che consente di cercare un valore in una colonna di sinistra di un intervallo e di restituire un valore dalla stessa riga, di una specificata colonna. Tuttavia, CERCA.VERT ha limitazioni importanti: la ricerca è solo verticale e la colonna da cui restituire i risultati deve trovarsi a destra di quella in cui avviene la ricerca. Inoltre, la Funzione può restituire il primo valore trovato, senza offrire molta flessibilità nella gestione degli errori.
CERCA.X, invece, è molto più versatile. Può cercare valori sia orizzontalmente che verticalmente, rendendola utile per una gamma più ampia di scenari. A differenza di CERCA.VERT, non è vincolata alla posizione della colonna di ricerca rispetto a quella di ritorno.
CERCA.X permette inoltre una gestione più efficiente dei casi di errore, fornendo opzioni più sofisticate per la ricerca e il confronto dei dati. In sostanza, CERCA.X rappresenta un'evoluzione di CERCA.VERT, superandone le principali limitazioni e offrendo maggiore flessibilità.

Sintassi della Funzione CERCA.X

La Funzione CERCA.X (XLOOKUP nella versione linguistica originale) prevede 6 argomenti, dei quali solo i primi tre sono obbligatori.

CERCA.X : sintassi della Funzione

=CERCA.X(Valore;matrice_ricerca;matrice_restituita;[se_non_trovato];[modalità_confronto];[modalità_ricerca])

Nella quale.
Valore: è il valore che deve essere ricercato nella matrice_ricerca (La Funzione, in questo primo argomento può accettare anche valori 0, 1, FALSO, VERO per un successivo confronto logico nel secondo argomento)
matrice_ricerca: è l'intervallo o la matrice nella quale ricercare il valore.
matrice_restituita è l'intervallo o la matrice nella quale è presente il valore che si vuole venga restituito.
[se_non_trovato] in questo primo argomento facoltativo è possibile definire un codice di errore quale ad esempio "codice non trovato" senza dover ricorre alla Funzioni SE.ERRORE o SE.NON.DISP. Se l'argomento viene omesso, in caso di errore verrà restituito il codice N/D
[modalità di confronto] in questo secondo argomento facoltativo è possibile programmare i seguenti codici:
 0
= corrispondenza esatta;
-1
corrispondenza esatta o elemento successivo più piccolo; Se non viene trovata una corrispondenza esatta, viene restituito il valore immediatamente inferiore.
 1
= corrispondenza esatta o numero successivo più grande; Se non viene trovata una corrispondenza esatta, viene restituito il valore successivo più grande.
 2
= corrispondenza carattere jolly; si riferisce alla possibilità di utilizzare caratteri speciali per eseguire ricerche più flessibili. Nello specifico, Excel supporta due principali caratteri jolly per le ricerche con CERCA.X l'asterisco e il punto di domanda.
[modalità_ricerca] in questo terzo e ultimo argomento facoltativo è possibile definire attraverso codici le seguenti direzioni di ricerca:
 1
= ricerca dal primo all'ultimo dei valori presenti nell'elenco;
-1
ricerca dall'ultimo al primo dei valori presenti nell'elenco;
 2
Ricerca binaria in ordine crescente;
-2
ricerca binaria in ordine decrescente;

In questo primo esempio, l'attenzione è posta su un utilizzo di base della Funzione CERCA.X, limitato ai suoi primi tre argomenti, che sono obbligatori. L'approccio proposto si concentra sull'impostazione essenziale della Funzione, senza considerare opzioni avanzate
Diversamente dalla Funzione CERCA.VERT, che richiede che il valore da cercare sia sempre nella prima colonna di una matrice, la Funzione CERCA.X permette di eseguire la ricerca in qualsiasi colonna, inclusa la seconda o quelle successive. Inoltre, consente di restituire valori anche dalle colonne a sinistra di quella in cui si effettua la ricerca, offrendo una versatilità maggiore nel recupero dei dati.

Passiamo pertanto ad un primo semplice esempio di applicazione della Funzione.
Nella tabella illustrata nell'immagine, si desidera cercare il valore presente nella cella G3 e restituire il dato corrispondente dalla prima colonna della matrice, che identifica la categoria del prodotto.
La Funzione inserita sarà la seguente
=CERCA.X(G3;C3:C15;B3;B15)

nella quale il primo argomento "G3" è la cella che contiene il codice del prodotto da cercare, nel caso specifico dell'esempio il codice g4;
C3:C15 è la matrice nella quale cercare il codice;
ed infine, B3:B15 contiene i nomi delle categorie dei prodotti che si desiderano ottenere come risultato.

CERCA.X esempio impostazione base della funzione 

Nella tabella di cui sopra, qualora volessimo la restituzione del valore presente nella terza colonna (ovvero il modello) la Funzione andrebbe modificata in: =CERCA.X(G3;C3:C15;D3:D15)

Ovviamente le due Funzioni CERCA.X potrebbero anche essere concatenate per avere in una unica cella la restituzione sia della categoria del prodotto sia del modello. (vedi immagine sottostante)
=CERCA.X(G3;C3:C15;B3:B15)&" "&CERCA.X(G3;C3:C15;D3:D15)

CERCA.X concatenazione dei risultati 

::NOTA. Per un approfondimento sulle concatenazioni si rimanda a le concatenazioni di testo in Excel

Ricerca orizzontale dei dati

Come anticipato nell'introduzione, la Funzione CERCA.X di Excel si propone come un'alternativa versatile e potente a molte delle precedenti Funzioni di ricerca.
Tra i suoi punti di forza vi è la capacità di eseguire ricerche sia orizzontali che verticali, una caratteristica che in passato era gestita separatamente da Funzioni specifiche come CERCA.VERT e CERCA.ORIZ
Grazie alla sua flessibilità, CERCA.X  può fare entrambe le cose con la stessa impostazione di sintassi semplificando pertanto le operazioni di ricerca.

Nello specifico dell'esempio proposto nella sottostante immagine.
Nella cella K2 è stato inserito il codice da ricercare nella prima riga della tabella. Il terzo argomento della Funzione specifica la matrice A22 , da cui si vuole ottenere il risultato corrispondente alla ricerca.
La Funzione, inserita nella cella L2 è la seguente:
=CERCA.X(K2;A1:H1;A2:H2)

CERCA.X : Ricerca orizzontale dei dati

Per ottenere in un'unica formula il risultato presente su due righe diverse e volendo disporre la restituzione dei dati su due celle affiancate, è possibile applicare la Funzione MATR.TRASPOSTA
Per ottenere questo risultato, nella sottostante immagine, viene proposta la seguente impostazione della formula:
=MATR.TRASPOSTA(CERCA.X(K2;A1:H1;A2:H3))

Grazie a questa impostazione, il risultato anzichè essere restituito nelle due celle L2 e L3, viene affiancato sulla stessa riga.

CERCA.X : Ricerca orizzontale dei dati

All'interno della sintassi stessa della Funzione CERCA.X, senza ricorrere alla Funzione SE.ERRORE oppure SE.NON.DISP., è possibile definire un codice di errore alternativo a #N/D
:: NOTA. Qualora non venisse definito il quarto argomento della Funzione [se_non_trovato], Il codice di errore #N/D viene restituito anche nel caso della Funzione CERCA.X

Nell'esempio illustrato nel successivo screenshot, viene cercato un codice (sn3) non presente nella matrice C3:C15. Come quarto argomento fra doppi apici è stato inserito il testo "codice inesistente"
=CERCA.X(G3;C3:C15;B3:B15;"codice inesistente")
Il risultato restituito dalla Funzione, è visibile nell'immagine

CERCA.X : Gestire il codice di errore #N/D  

Seppur meno frequenti delle ricerche per corrispondenza esatta, a volte può rendersi necessaria impostare un ricerca per approssimazione.

:: ATTENZIONE. Contrariamente al cerca verticale, con la nuova Funzione CERCA.X, qualora non venisse impostato il 5 argomento la ricerca che viene effettuata è quella per corrispondenza esatta e non approssimativa.

Esempio. Nell'immagine sottostante, non essendo presente il codice sn3 nella tabella si vuole la restituzione del valore vicino più piccolo (sn2). per impostare questa ricerca nel 5 argomento della Funzione CERCA.X deve essere impostato il codice -1

=CERCA.X(G3;C3:C15;B3:B15;;-1)

CERCA.X Impostare una ricerca per approssimazione 

:: NOTA. Quando si scrive una Funzione con argomenti facoltativi che non devono essere definiti, ma si desidera passare direttamente a un argomento successivo, è possibile lasciare vuoti quelli non necessari.
Tuttavia, è importante mantenere la corretta sintassi inserendo comunque i separatori tra gli argomenti, come il punto e virgola.
Questo garantisce che ciascun argomento occupi la posizione corretta, anche se alcuni rimangono non valorizzati.
Nello specifico dell'esempio proposto nell'immagine di cui sopra, per bypassare l'argomento [se_non_trovato] e passare al successivo [modalità di confronto] è stato inserito per due volte il separatore punto e virgola-

Ricerca con corrispondenza parziale dei dati (caratteri jolly)

La Funzione CERCA.X offre la possibilità di eseguire ricerche con corrispondenza parziale, utilizzando i caratteri jolly come "?" per un singolo carattere e "*" per una stringa di caratteri.
Questa caratteristica permette di cercare valori che contengono o corrispondono parzialmente a una stringa specifica, rendendo più flessibili le ricerche all'interno di dataset complessi.
È particolarmente utile quando non si conosce l'intero valore esatto da cercare o quando si lavora con dati che presentano variazioni minime nelle stringhe.

Nell'esempio raffigurato nella sottostante immagine, si vuole cerca nella colonna A dell'archivio una stringa che rappresenta solo una parte delle informazioni contenute nella colonna. 
La Funzione inserita nella cella E2 è la seguente.  =CERCA.X("*"&D2;A2:A14;B2:B14;;2)

CERCA.X : Ricerca con corrispondenza parziale dei dati (caratteri jolly)

::NOTA. In Excel, i caratteri jolly "*" e "?" sono strumenti potenti per eseguire ricerche flessibili e personalizzate:
Asterisco ("*"): Sostituisce qualsiasi serie di caratteri, indipendentemente dalla loro lunghezza. Ad esempio, cercare "pro*" troverà "progetto", "prova" o "programma". È utile quando si conosce solo una parte iniziale o finale del testo.
Punto interrogativo ("?"): Sostituisce un singolo carattere. Ad esempio, cercando "Scarpon?" si potranno trovare "Scarpone" o "Scarponi". Questo carattere è molto utile per ricerche all'interno di codici per definire l'esatta posizione di confronto di una stringa.
Questi caratteri jolly sono impiegati anche in altre Funzioni come CERCA.VERT o FILTRA, rendendo la ricerca di dati più flessibile.

CERCA.X per restituire più colonne o righe (adiacenti o meno)

La Funzione CERCA.X di Excel offre una soluzione per restituire dati presenti su più colonne in un foglio di lavoro. Questa Funzione consente di eseguire ricerche flessibili all'interno di insiemi di dati, migliorando significativamente le capacità di estrazione delle informazioni rispetto alle Funzioni di ricerca tradizionali come CERCA.VERT o CERCA.ORIZZ.
Nello specifico nell'esempio raffigurato nella successiva immagine, si vuole la contemporanea restituzione di tutti i valori a destra del codice (categoria prodotto, modello e prezzo)
Per ottenere questo risultato, nel terzo argomento della Funzione matrice_restituta è sufficiente individuare un intervallo che comprenda tutte e tre le colonne adiacenti B2:D14
La Funzione inserita nella cella F2 è la seguente: =CERCA.X(F2;A2:A14;B2:D14)

CERCA.X :  per restituire più colonne o righe (adiacenti o meno)

CERCA.X è particolarmente utile in scenari in cui è necessario cercare un valore in una colonna e ottenere dati associati da più colonne, come ad esempio in database aziendali, gestionali o reportistiche avanzate.

Restituzione di più colonne non adiacenti 

Per restituire valori da colonne non adiacenti, è possibile la Funzione FILTRO definendo nel suo secondo argomento un impostazione di matrice {1\0\1}
Rispetto le tre colonne individuate il numero 1 o il 0 definisco VERO e FALSO quali devono essere restituite, pertanto le prima e la terza.

CERCA.X :  per restituire più colonne o righe (adiacenti o meno)

Per un approfondimento sulla Funzione Filtro si rimanda a: La Funzione FILTRO di Excel

Inserire più criteri di ricerca nella Funzione CERCA.X 

Per inserire più criteri di ricerca nella Funzione CERCA.X, si deve ricorre all'applicazione della logica booleana.
Il primo argomento della Funzione CERCA.X accetta l'impostazione VERO FALSO, rispetto un valutazione logico comparativa che potrà essere impostata per due o più colonne del secondo argomento.
Rispetto a quanto proposto nell'esempio sottostante la Funzione CERCA.X potrà essere impostata nel seguente modo:
=CERCA.X(1;(A2:A14=E2)*(B2:B14=F2);C2:C14)
Importante osservare che nel secondo argomento i risultati comparativo delle due colonne vengono fra di loro moltiplicati.
Dal punto di vista esecutivo, la Funzione CERCA.X cercherà il valore 1 (VERO) proposto nel primo argomento. Contestualmente nel secondo argomento si crea una matrice temporanea composto da 0 (se non c’è corrispondenza) e 1 (se c’è corrispondenza) per le seguenti comparazioni (A2:A14=E2)*(B2:B14=F2) .
In pratica, la Funzione verifica il VERO del primo argomento con il risultato della moltiplicazione del confronto VERO FALSO del due colonne del secondo argomento
Se trova una corrispondenza, il confronto restituisce (vero). Se non la trova, restituisce (falso).
Quindi, moltiplicando i valori VERO e FALSO ottenuto dalla comparazione delle due colonne (che Excel interpreta come 1 e 0), si ottiene una unica matrice che contiene 1 solo per gli elementi che soddisfano tutti i criteri (sia il primo che il secondo confronto devono essere veri) oppure 0 se non tutti i criteri non vengono soddisfatti.
0*0 = 0 (FALSO)
0*1= 0 (FALSO)
1*1= 1 (VERO)
1*0 = 0 (FALSO)

CERCA.X : Inserire più criteri di ricerca nella Funzione 

Nell'ambito della logica matematica, si può utilizzare una matrice per verificare la corrispondenza in base a specifici criteri tra due colonne di dati .
I calcoli sulla matrice vanno a verificare che il criterio impostati per le due colonne restituiscono a seconda della corrispondenza esatta o meno il valore 1 o 0.

impostazione criteri logici

Considerazioni conclusive sulla Funzione CERCA.X

La Funzione CERCA.X in Excel rappresenta un'innovazione significativa rispetto alle tradizionali Funzioni di ricerca e riferimento come CERCA.VERT e CERCA.ORIZZ, offrendo maggiore flessibilità e precisione.
Tra le sue principali caratteristiche innovative spiccano:
Ricerca bidirezionale: A differenza di CERCA.VERT e CERCA.ORIZZ, che sono limitate alla ricerca verticale o orizzontale, CERCA.X consente di cercare dati in entrambe le direzioni, facilitando la gestione di tabelle complesse.
Ricerca su qualsiasi colonna: Con CERCA.X, è possibile cercare in qualsiasi colonna, senza il vincolo che la colonna di ricerca debba essere la prima, come avviene in CERCA.VERT. Questo rende più flessibile la struttura del database senza l'obbligo didisporre del campo chiave per le ricerche nella prima colonna.
Gestione dei valori non trovati: Una delle innovazioni più apprezzate è la possibilità di gestire in modo diretto i casi in cui il valore cercato non viene trovato. CERCA.X permette di definire un valore predefinito da restituire, evitando errori e semplificando la gestione di dati incompleti o mancanti.
Ricerca con corrispondenza esatta o parziale: questa Funzione consente di effettuare ricerche basate sia su una corrispondenza esatta sia su una corrispondenza parziale, come per ricerche approssimative o di caratteri simili. Ciò migliora la flessibilità e le capacità di ricerca rispetto a Funzioni come CONFRONTA o INDICE.
Restituzione di dati su più colonne: Un aspetto potente di CERCA.X è la possibilità di restituire valori da più colonne simultaneamente, anziché dover ripetere la Funzione più volte. Questo è utile, ad esempio, quando si devono estrarre più informazioni associate a un determinato valore da diverse colonne di una tabella.
In sintesi, CERCA.X va oltre le limitazioni delle Funzioni di ricerca tradizionali, rendendo più efficiente e versatile il processo di ricerca e gestione dei dati. La sua flessibilità nell'adattarsi a diverse strutture di database, unita alla capacità di restituire dati multipli e gestire errori in modo efficiente, la rende uno strumento avanzato per l'analisi dei dati in Excel.

Indice Generale Argomenti: EXCEL

[Valter Borsato: ottobre - 2020 | Completamente riscritto 21/10/2024 | Ultimo aggiornamento 24/10/2024]