Index, Match e Xmatch
Scorri per mostrare il menu
XLOOKUP è la funzione di ricerca preferita nei modelli Excel moderni, ma molti file reali si basano ancora su INDEX e MATCH. In questo capitolo, scopri come queste funzioni lavorano insieme e come XMATCH estende la stessa logica con maggiore flessibilità.
Struttura di MATCH
=MATCH(lookup_value, lookup_array, [match_type])
lookup_value: valore ricercato;lookup_array: intervallo in cui si effettua la ricerca;[match_type]: modalità di corrispondenza;0: corrispondenza esatta;1: valore più grande minore o uguale al valore cercato;-1: valore più piccolo maggiore o uguale al valore cercato.
MATCH restituisce una posizione, non il valore effettivo.
Struttura di INDEX
=INDEX(array, row_num, [col_num])
array: insieme di dati da cui restituire il valore;row_num: posizione della riga;[col_num]: posizione opzionale della colonna.
INDEX recupera un valore in base alla posizione.
Combinazione di INDEX e MATCH
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
MATCH(...): trova la posizione del prodotto;INDEX(...): restituisce il valore in quella posizione.
Questo ricrea il comportamento di ricerca senza limitazioni direzionali.
Struttura di XMATCH
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
lookup_value: valore ricercato;lookup_array: intervallo in cui si effettua la ricerca;[match_mode]: logica di corrispondenza;[search_mode]: direzione di ricerca.
XMATCH restituisce posizioni come MATCH, ma aggiunge controlli di ricerca moderni simili a XLOOKUP.
All'interno del foglio Summary, digitare:
=MATCH("Laptop", Products[Product], 0)
Verificare che Excel restituisca la posizione di Laptop all'interno della tabella Products.
Digitare:
=INDEX(Products[Price], 3)
Verificare che la formula restituisca il valore in posizione 3.
Digitare:
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
La formula ora recupera dinamicamente il prezzo del prodotto corrispondente.
Sostituire il valore di ricerca fisso con:
=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
[@Product]: valore Product della riga corrente;Products[Product]: colonna di ricerca;Products[Price]: colonna del valore restituito.
La formula ora funziona in modo dinamico all'interno della struttura della tabella.
Digitare:
=XMATCH("Gaming Chair", Products[Product])
Verificare che Excel restituisca la posizione della riga corrispondente.
Digitare:
=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
- Primo
XMATCH(...): recupera la posizione della riga; - Secondo
XMATCH(...): recupera la posizione della colonna; INDEX(...): restituisce il valore all'intersezione.
Questo crea un sistema di ricerca riga-colonna completamente dinamico.
Modificare sia il valore del prodotto che quello della colonna all'interno della formula.
Verificare che il risultato si aggiorni dinamicamente in base alla combinazione di riga e colonna selezionata.
1. Qual è il ruolo principale di MATCH nella combinazione INDEX/MATCH?
2. Perché è necessario INDEX quando si utilizza MATCH?
3. Qual è il principale vantaggio dell'utilizzo di INDEX con XMATCH per ricerche bidimensionali?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione