Formula di Excel: posizione più vicina con XMATCH -

Sommario

Formula generica

=INDEX(location,XMATCH(0,distance,1))

Sommario

Per individuare la posizione più vicina in base alla distanza è possibile utilizzare una formula basata sulla funzione XMATCH con la funzione INDICE. Nell'esempio mostrato, la formula nella cella E5 è:

=INDEX(location,XMATCH(0,distance,1))

dove la posizione (B5: B12) e la distanza (C5: C12) sono denominati intervalli.

Spiegazione

Al centro, questa formula è una formula INDICE e CONFRONTA di base. Tuttavia, invece di utilizzare la vecchia funzione MATCH, stiamo utilizzando la funzione XMATCH, che fornisce un'impostazione della modalità di corrispondenza più potente:

=INDEX(location,XMATCH(0,distance,1))

Lavorando dall'interno verso l'esterno, stiamo usando la funzione XMATCH per trovare la posizione della posizione più vicina:

XMATCH(0,distance,1) // find row nearest zero

Lo facciamo impostando il valore di ricerca su zero (0), l'array di ricerca sulla distanza (C5: C12) e la modalità di corrispondenza su 1.

Un valore 1 della modalità di corrispondenza indica a XMATCH di trovare una corrispondenza esatta o il valore successivo più grande. Poiché il valore di ricerca è fornito come zero (0), XMATCH troverà la prima distanza maggiore di zero. Un bel vantaggio di XMATCH - ciò che lo distingue da MATCH - è che non è l'array di ricerca da ordinare. Indipendentemente dall'ordine, MATCH restituirà la prima corrispondenza esatta o il valore successivo più grande.

Nell'esempio, XMATCH restituisce 5, poiché la distanza più piccola è 7 (posizione G), che appare quinta nell'elenco. La formula si risolve in:

=INDEX(location,5) // returns "G"

e INDICE restituisce il quinto elemento dalla posizione dell'intervallo denominato (B5: B12), che è "G".

Nota: in caso di parità, XMATCH restituirà la prima corrispondenza per i valori in parità.

Prendi distanza

La formula per restituire la distanza effettiva dalla posizione più vicina è quasi la stessa. Invece di dare a INDICE i nomi delle posizioni, diamo a INDICE le distanze. La formula in F5 è:

=INDEX(distance,XMATCH(0,distance,1)) // returns distance

XMATCH restituisce lo stesso risultato di sopra (5) e INDICE restituisce 7.

Articoli interessanti...