Formule Excel: correspondance exacte bidirectionnelle XLOOKUP -

Formule générique

=XLOOKUP(A1,months,XLOOKUP(A2,names,data))

Sommaire

Pour effectuer une recherche à deux avec la fonction XLOOKUP (une double XLOOKUP), vous pouvez imbriquer une XLOOKUP dans une autre. Dans l'exemple illustré, la formule en H6 est:

=XLOOKUP(H5,months,XLOOKUP(H4,names,data))

où les mois (C4: E4) et les noms (B5: B13) et les données (C5: E13) sont des plages nommées.

Explication

L'une des fonctionnalités de XLOOKUP est la possibilité de rechercher et de renvoyer une ligne ou une colonne entière. Cette fonctionnalité peut être utilisée pour imbriquer un XLOOKUP dans un autre pour effectuer une recherche bidirectionnelle. La XLOOKUP interne renvoie un résultat à la XLOOKUP externe, qui renvoie un résultat final.

Remarque: XLOOKUP effectue une correspondance exacte par défaut, le mode de correspondance n'est donc pas défini.

En travaillant de l'intérieur vers l'extérieur, le XLOOKUP interne est utilisé pour récupérer toutes les données de "Frantz":

XLOOKUP(H4,names,data)

XLOOKUP trouve "Frantz" dans les noms de plage nommés (B5: B13). Frantz apparaît dans la cinquième ligne, donc XLOOKUP renvoie la cinquième ligne de données (C5: E13). Le résultat est un tableau représentant une seule ligne de données pour Frantz, contenant 3 mois de ventes:

(10699,5194,10525) // data for Frantz

Ce tableau est renvoyé directement au XLOOKUP externe en tant que return_array:

=XLOOKUP(H5,months,(10699,5194,10525))

Le XLOOKUP externe trouve la valeur dans H5 ("Mar") à l'intérieur de la plage de mois nommée (C4: E4). La valeur «Mar» apparaît comme le troisième élément, donc XLOOKUP renvoie le troisième élément à partir des données de vente, la valeur 10525.

Sans plages nommées

Les plages nommées utilisées dans cet exemple sont uniquement destinées à la lisibilité. Sans plages nommées, la formule est:

=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))

INDEX et MATCH

Cet exemple peut être résolu avec INDEX et MATCH comme ceci:

=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))

INDEX and MATCH est une bonne solution à ce problème, et probablement plus facile à comprendre pour la plupart des gens. Cependant, la version XLOOKUP montre la puissance et la flexibilité de XLOOKUP.

Articles intéressants...