Excel-formule: dichtstbijzijnde locatie met XMATCH -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om de dichtstbijzijnde locatie op afstand te zoeken, kunt u een formule gebruiken die is gebaseerd op de XMATCH-functie met INDEX-functie. In het weergegeven voorbeeld is de formule in cel E5:

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

waarbij locatie (B5: B12) en afstand (C5: C12) bereiken worden genoemd.

Uitleg

In de kern is deze formule een basisformule van INDEX en MATCH. In plaats van de oudere MATCH-functie te gebruiken, gebruiken we echter de XMATCH-functie, die een krachtigere matchmodus-instelling biedt:

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

We werken van binnen naar buiten en gebruiken de XMATCH-functie om de positie van de dichtstbijzijnde locatie te vinden:

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

We doen dat door de lookup-waarde in te stellen op nul (0), de lookup-array op de afstand (C5: C12) en de matchmodus op 1.

Een matchmodus-waarde van 1 vertelt XMATCH om een ​​exacte match of op een na grootste waarde te vinden. Aangezien de opzoekwaarde wordt opgegeven als nul (0), zal XMATCH de eerste afstand groter dan nul vinden. Een mooi voordeel van XMATCH - wat het onderscheidt van MATCH - is dat de lookup-array niet moet worden gesorteerd. Ongeacht de volgorde retourneert MATCH de eerste exacte overeenkomst of de volgende grootste waarde.

In het voorbeeld retourneert XMATCH 5, aangezien de kleinste afstand 7 is (locatie G), die als vijfde in de lijst verschijnt. De formule leidt tot:

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

en INDEX retourneert de vijfde item van het benoemde bereik locatie (B5: B12), dat is "G".

Opmerking: in de even van een gelijkspel retourneert XMATCH de eerste match voor gelijkspelwaarden.

Afstand krijgen

De formule om de werkelijke afstand tot de dichtstbijzijnde locatie te retourneren, is bijna hetzelfde. In plaats van INDEX de locatienamen te geven, geven we INDEX de afstanden. De formule in F5 is:

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

XMATCH retourneert hetzelfde resultaat als hierboven (5), en INDEX retourneert 7.

Interessante artikelen...