Excel formula: Najbližja lokacija z XMATCH -

Kazalo

Splošna formula

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

Povzetek

Za iskanje najbližje lokacije po razdalji lahko uporabite formulo, ki temelji na funkciji XMATCH s funkcijo INDEX. V prikazanem primeru je formula v celici E5:

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

kjer sta lokacija (B5: B12) in razdalja (C5: C12) imenovani obsegi.

Pojasnilo

V bistvu je ta formula osnovna formula INDEX in MATCH. Namesto starejše funkcije MATCH pa uporabljamo funkcijo XMATCH, ki omogoča močnejšo nastavitev načina ujemanja:

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

Če delamo od znotraj navzven, s pomočjo funkcije XMATCH poiščemo položaj najbližje lokacije:

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

To naredimo tako, da nastavimo vrednost iskanja na nič (0), matriko iskanja na razdaljo (C5: C12) in način ujemanja na 1.

Vrednost načina ujemanja 1 pove XMATCH, da najde natančno ujemanje ali naslednjo največjo vrednost. Ker je vrednost iskanja podana kot nič (0), bo XMATCH našel prvo razdaljo, večjo od nič. Lepa prednost XMATCH - kaj ga ločuje od MATCH - je, da iskalnega polja ni treba razvrstiti. Ne glede na naročilo bo MATCH vrnil prvo natančno ujemanje ali naslednjo največjo vrednost.

V primeru XMATCH vrne 5, saj je najmanjša razdalja 7 (lokacija G), ki je na seznamu peta. Formula se razreši na:

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

in INDEX vrne peti element z imenovane lokacije obsega (B5: B12), to je "G".

Opomba: v enakem izenačenem rezultatu bo XMATCH vrnil prvo ujemanje za izenačene vrednosti.

Pridobite razdaljo

Formula za vrnitev dejanske razdalje najbližje lokacije je skoraj enaka. Namesto da indeksu damo imena lokacij, damo INDEX razdaljo. Formula v F5 je:

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

XMATCH vrne enak rezultat kot zgoraj (5), INDEX pa vrne 7.

Zanimive Članki...