Formule Excel: XLOOKUP avec logique OU booléenne -

Formule générique

=XLOOKUP(1,boolean_expression,data)

Sommaire

Pour configurer XLOOKUP avec une logique booléenne OU, utilisez une valeur de recherche de 1 avec une expression logique basée sur l'ajout. Dans l'exemple illustré, la formule en G5 est:

=XLOOKUP(1,(data(Color)="red")+(data(Color)="pink"),data)

où «données» est le nom du tableau Excel à gauche.

Explication

La valeur de recherche est fournie comme 1, pour des raisons qui deviennent claires ci-dessous. Pour le tableau de recherche, nous utilisons une expression basée sur une logique booléenne:

(data(Color)="red")+(data(Color)="pink")

Dans le monde de l'algèbre booléenne, la logique AND correspond à la multiplication (*) et la logique OR correspond à l'addition (+). Parce que nous voulons une logique OU, nous utilisons l'addition dans ce cas. Remarquez qu'Excel n'est pas sensible à la casse, nous n'avons donc pas besoin de mettre les couleurs en majuscule.

Une fois l'expression évaluée, nous avons deux tableaux de valeurs TRUE et FALSE comme ceci:

(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)+ (FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE)

Remarquez que dans le premier tableau, les valeurs TRUE correspondent à "red". Dans le deuxième tableau, les valeurs TRUE correspondent à "rose".

L'opération mathématique d'ajout de ces tableaux ensemble convertit les valeurs TRUE et FALSE en 1 et 0, et aboutit à un nouveau tableau composé uniquement de 1 et de 0:

(0;0;1;0;1;0;0;0;0;1)

Remarquez que les 1 de ce tableau correspondent aux lignes dont la couleur est «rouge» ou «rose».

Nous pouvons maintenant réécrire la formule comme suit:

=XLOOKUP(1,(0;0;1;0;1;0;0;0;0;1),data)

Le premier 1 du tableau de recherche correspond à la troisième ligne des données, où la couleur est «rouge». Puisque XLOOKUP renverra par défaut la première correspondance, et puisque la table entière "data" est fournie comme tableau de retour, XLOOKUP renvoie la troisième ligne comme résultat final.

Articles intéressants...