web-dev-qa-db-fra.com

Comment utiliser un IF (AND) imbriqué dans une formule matricielle Excel?

Comment obtenir un 'AND' imbriqué dans 'IF' dans une formule matricielle?

J'ai réduit mon problème à l'exemple suivant: Excel spreadsheet showing array formula with nested AND _ {Remarque: l'image ci-dessus a été mise à jour pour inclure les accolades de la formule du tableau} _

En haut à droite, nous avons les critères de recherche dans L3 ("couleur") et L4 ("forme"). À gauche, la colonne D contient des formules de correspondance de travail pour la couleur et la forme dans la liste des éléments. Le premier tableau montre que la formule de correspondance fonctionne correctement sans utiliser de formule matricielle.

Le deuxième tableau montre une formule matricielle qui correspond à la couleur.

Le troisième tableau montre une formule matricielle qui correspond à la forme.

À droite, ma tentative d'utiliser les deux critères dans une formule matricielle, en les combinant avec AND.

SI la valeur de la colonne de couleur correspond au critère de couleur (L3) et que la valeur de la colonne de forme correspond au critère de forme (L4), je souhaite voir "MATCH!".

J'ai trouvé une solution de contournement: concaténer les valeurs et les critères, puis les faire correspondre dans un même SI. Je pense qu'il devrait y avoir une meilleure façon ... comme si ET fonctionnait comme prévu!

Remarque: La plupart des réponses ci-dessous fonctionnent correctement, mais pas comme des formules matricielles, ce qui est précisément le sujet de cette question. J'ai regardé ma question initiale et réalisé que j'avais oublié de montrer les accolades dans les exemples de formule de tableau. J'ai corrigé l'image pour les montrer. Désolé pour la confusion.

La clé pour répondre à ces questions consiste à écrire quelque chose qui fonctionne comme une formule tableau , qui est entré en appuyant sur CTRL + MAJ + ENTRÉE après avoir tapé la formule dans une cellule. Excel ajoutera automatiquement les accolades pour indiquer qu’il s’agit d’une formule matricielle.

7
Steven T. Snyder

Essayez d'utiliser next array formula:

=IF(($J$16:$J$22=$L$3)*($K$16:$K$22=$L$4),"MATCH!","-")

voici un link au cahier de test.

11
Dmitry Pavliv

Vous pouvez imbriquer un IF dans le value of true d'une IF pour obtenir un IF something AND somethingelse. Par exemple :

=IF(A1="something", IF(A2="somethingelse", "A1 is something and A2 is somethingelse", "A1 is something but A2 is not something else"), "A1 is nothing and A2 is nothingelse")

Quelques détails supplémentaires sur l’essai de ce code: écris "quelque chose" (sans guillemets) en A1, et "quelque chose d’autre" en A2, mets cette formule dans une autre cellule de cette feuille. Jouez avec ces valeurs pour voir où vous atterrissez dans les FI imbriquées.

4
Bernard Saucier

Vous pouvez utiliser l’une de ces deux manières à la place de AND: mettre "*" entre les conditions et la seconde utilise des ifs imbriquées. par exemple un de ceux-ci: 

=IF(($J$16:$J$22=$L$3)*($K$16:$K$22=$L$4),"MATCH!","-")

ou

=IF($J$16:$J$22=$L$3, if($K$16:$K$22=$L$4,"MATCH!","-"))

Logiquement Pour utiliser OR ou XOR, vous devez mettre () + () ou - en conséquence. Je ne les ai pas testés maintenant.

Cordialement, M

0
Mahhdy