Bonjour,

Envoyé par
7ider5
Par ailleurs, si quelqu'un a la solution par formule matricielle, ça peut être intéressant de la connaître
Les essais de formule matricielle avec les opérateurs logiques ET , OU sont voués à l'échec car ces deux opérateurs "dysfonctionnent" dès que l'on veut les employer dans une formule matricielle. Il faut donc chercher des formules de remplacement de ces opérateurs logiques.
Je suppose que les valeurs de comparaison pour les différents critères sont en A1 : AZ1 pour le filtre et en A2 : AZ2 pour l'appareil à contrôler sous la forme de valeurs numériques 1 , 0 associées aux valeurs logiques VRAI , FAUX plutôt que sur la forme "oui" , "non" qui obligent à manipuler des chaines de caractères.
Le remplacement habituel des opérateurs logiques ET , OU est l'utilisation des opérateurs arithmétiques * (ou encore la fonction PRODUIT) et + (ou encore la fonction SOMME) à condition de remplacer les valeurs logiques VRAI , FAUX par les valeurs numériques associées 1 , 0.
On peut ainsi écrire la formule matricielle :
= 1 * ( PRODUIT( ($A$1 : $AZ$1 = A2 : AZ2) + A2 : AZ2 ) > 0 )
à valider par Ctrl + Maj + Entrée.
On peut aussi écrire :
= MIN ( PRODUIT( ($A$1 : $AZ$1 = A2 : AZ2) + A2 : AZ2 ); 1 )
toujours validée par Ctrl + Maj + Entrée.
Pour montrer qu'il y d'autres possibilités moins habituelles, on peut utiliser le fait que les propositions p => q (c'est à dire p implique q) et nonp V q (c'est à dire nonp OU q ) sont logiquement équivalentes pour remplacer dans Excel OU (p = q ; q) par SI( p <> q ; q ; 1) , d'où une troisième formule matricielle possible :
= PRODUIT ( SI($A$1:$AZ$1 <> A2:AZ2 ; A2:AZ2 ; 1))
toujours bien sûr à valider par Ctrl + Maj + Entrée.
Cordialement
Claude
Partager