Formule Excel: XLOOKUP avec plusieurs critères -

Formule générique

=XLOOKUP(val1&val2&val3,rng1&rng2&rng3,results)

Sommaire

Pour utiliser XLOOKUP avec plusieurs critères, vous pouvez concaténer des valeurs de recherche et des tableaux de recherche directement dans la formule. Dans l'exemple illustré, la formule en H8 est:

=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14)

XLOOKUP renvoie 17,00 $, le prix d'un grand t-shirt rouge.

Remarque: XLOOKUP peut gérer les tableaux de manière native; il n'est pas nécessaire d'entrer avec Ctrl + Maj + Entrée.

Explication

L'un des avantages intéressants de XLOOKUP par rapport à VLOOKUP est que XLOOKUP peut travailler directement avec des tableaux, au lieu d'exiger des plages sur une feuille de calcul. Cela permet d'assembler des tableaux dans la formule et de les pousser dans la fonction.

En travaillant un argument à la fois, la valeur de recherche est créée en joignant H5, H6 et H7 à l'aide de la concaténation:

=XLOOKUP(H5&H6&H7

Il en résulte la chaîne "T-shirtLargeRed".

Le tableau de recherche est créé de la même manière, sauf que nous joignons maintenant des plages:

=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14

La matrice de retour est fournie comme plage normale:, E5: E14:

=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14

En substance, nous recherchons la valeur de recherche "T-shirtLargeRed" dans des données comme celle-ci:

lookup_array result_array
T-shirtPetit Rouge 15
T-shirtMediumBleu 16
T-shirtGrandRouge 17
Sweat À CapuchePetitGris 28
Sweat à capucheMediumBlue 29
Sweat À CapucheGrandNoir 30
ChapeauMédiumNoir 25
ChapeauMédiumGris 26
ChapeauGrandRouge 24
T-shirtGrandBleu 16

Le mode de correspondance par défaut est exact et le mode de recherche par défaut est la première correspondance, donc XLOOKUP renvoie 17,00 $.

Avec logique booléenne

Bien que la syntaxe expliquée ci-dessus fonctionne correctement pour une simple correspondance «égale à», vous pouvez également utiliser la logique booléenne pour construire une formule comme celle-ci:

=XLOOKUP(1,(B5:B14=H5)*(C5:C14=H6)*(D5:D14=H7),E5:E14)

Il s'agit d'une approche plus flexible car la syntaxe peut être ajustée pour utiliser d'autres opérateurs logiques et d'autres fonctions selon les besoins pour des recherches plus complexes.

Articles intéressants...