Formule Excel: Emplacement le plus proche avec XMATCH -

Table des matières

Formule générique

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

Sommaire

Pour localiser l'emplacement le plus proche par distance, vous pouvez utiliser une formule basée sur la fonction XMATCH avec la fonction INDEX. Dans l'exemple illustré, la formule de la cellule E5 est:

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

où l' emplacement (B5: B12) et la distance (C5: C12) sont des plages nommées.

Explication

À la base, cette formule est une formule de base INDEX et MATCH. Cependant, au lieu d'utiliser l'ancienne fonction MATCH, nous utilisons la fonction XMATCH, qui fournit un paramètre de mode de correspondance plus puissant:

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

En travaillant de l'intérieur vers l'extérieur, nous utilisons la fonction XMATCH pour trouver la position de l'emplacement le plus proche:

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

Nous faisons cela en définissant la valeur de recherche sur zéro (0), le tableau de recherche sur la distance (C5: C12) et le mode de correspondance sur 1.

Une valeur de mode de correspondance de 1 indique à XMATCH de trouver une correspondance exacte ou la valeur la plus élevée suivante. Puisque la valeur de recherche est fournie comme zéro (0), XMATCH trouvera la première distance supérieure à zéro. Un avantage appréciable de XMATCH - ce qui le distingue de MATCH - est qu'il ne s'agit pas du tableau de recherche à trier. Quel que soit l'ordre, MATCH renverra la première correspondance exacte ou la valeur la plus élevée suivante.

Dans l'exemple, XMATCH renvoie 5, car la plus petite distance est 7 (emplacement G), qui apparaît cinquième dans la liste. La formule se résout à:

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

et INDEX renvoie le cinquième élément à partir de l' emplacement de plage nommé (B5: B12), qui est "G".

Remarque: en cas d'égalité, XMATCH renverra la première correspondance pour les valeurs liées.

Obtenir la distance

La formule pour renvoyer la distance réelle de l'emplacement le plus proche est presque la même. Au lieu de donner à INDEX les noms d'emplacement, nous donnons à INDEX les distances. La formule en F5 est:

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

XMATCH renvoie le même résultat que ci-dessus (5) et INDEX renvoie 7.

Articles intéressants...