Excel-formel: Närmaste plats med XMATCH -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att hitta närmaste plats efter avstånd kan du använda en formel baserad på XMATCH-funktionen med INDEX-funktionen. I exemplet som visas är formeln i cell E5:

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

där plats (B5: B12) och avstånd (C5: C12) heter områden.

Förklaring

I grunden är denna formel en grundläggande INDEX- och MATCH-formel. Istället för att använda den äldre MATCH-funktionen använder vi dock XMATCH-funktionen, som ger en mer kraftfull inställning för matchningsläge:

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

Arbetar inifrån och ut, vi använder XMATCH-funktionen för att hitta positionen för närmaste plats:

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

Vi gör det genom att sätta uppslagsvärde till noll (0), uppslagsmatris till avståndet (C5: C12) och matcha läge till 1.

Ett matchningsläge värde på 1 berättar för XMATCH att hitta en exakt matchning eller näst största värde. Eftersom uppslagsvärde ges som noll (0), kommer XMATCH att hitta det första avståndet större än noll. En bra fördel med XMATCH - det som skiljer det från MATCH - är att det inte är uppslagsmatrisen som ska sorteras. Oavsett ordning returnerar MATCH den första exakta matchningen eller det näst största värdet.

I exemplet returnerar XMATCH 5, eftersom det minsta avståndet är 7 (plats G), vilket visas femte i listan. Formeln löser sig att:

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

och INDEX returnerar det femte objektet från den namngivna områdesplatsen (B5: B12), som är "G".

Obs: på jämn nivå kommer XMATCH att returnera den första matchen för lika värden.

Få avstånd

Formeln för att returnera det faktiska avståndet till närmaste plats är nästan densamma. Istället för att ge INDEX platsnamnen ger vi INDEX avstånden. Formeln i F5 är:

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

XMATCH returnerar samma resultat som ovan (5) och INDEX returnerar 7.

Intressanta artiklar...