Voir le flux RSS

Pierre Fauconnier

[Actualité] SOMMEPROD et l'arithmétique booléenne (opérations logiques)

Noter ce billet
par , 26/01/2018 à 09h13 (836 Affichages)
Pour avoir une vision plus claire de la façon de créer SOMMEPROD avec des OU et des ET, voici un exemple léger qui illustre comment on peut beaucoup s'amuser avec l'arithmétique booléenne. Utilisée au sein de la fonction SOMMEPROD, cette arithmétique particulière mais somme toute fort simple permet l'expression de conditions très complexes sur un canevas générique.

A utiliser sans modération!!


1. VRAI et FAUX sont transtypés en valeurs numériques lorsqu'ils sont utilisés dans des opérations arithmétiques et valent alors respectivement 1 et 0.

2. Ca permet plein de choses amusantes sur le plan de l'arithmétique booléenne puisque 1 est neutre pour la multiplication alors que 0 est absorbant pour la multiplication et neutre pour l'addition.

Voici une table de vérité (version valeurs et version formules) qui illustre différents cas

Nom : 2018-01-24_202823.png
Affichages : 799
Taille : 82,2 Ko

Nom : 2018-01-24_202841.png
Affichages : 753
Taille : 68,4 Ko

SOMMEPROD effectue la SOMME des PRODuits
Dans l'illustration suivante, nous avons une table de données (tableau structuré) nommée T. SOMMEPROD compte les lignes pour lesquelles on a (A ou B ou C en X) ET (D en Y) ET (E en Z) grâce à l'arithmétique booléenne et des parenthèses placées aux bons endroits.

La formule est: =SOMMEPROD((((T[X]="A")+(T[X]="B")+(T[X]="C"))>0)*(T[Y]="D")*(T[Z]="E"))Nom : 2018-01-24_201933.png
Affichages : 747
Taille : 52,3 Ko


J'ai presqu'envie de dire que SOMMEPROD n'a plus de secrets pour vous.... Ca vous intéresse? Vous voulez qu'on explore ensemble des cas plus complexes?

Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Viadeo Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Twitter Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Google Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Facebook Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Digg Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Delicious Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog MySpace Envoyer le billet « SOMMEPROD et l'arithmétique booléenne (opérations logiques) » dans le blog Yahoo

Commentaires

  1. Avatar de laurent_ott
    • |
    • permalink
    Avec mon éditeur, dans la formule, il y a des smileys qui se sont incrustés et qui gênent la lisibilité. Est-il possible de corriger cela ?
    Je pense que T dans la formule représente le nom du tableau utilisé, mais tu devrais peut-être le signaler plus clairement.
    En tout cas, c'est une documentation très intéressante qui peut donner des idées.
  2. Avatar de curt
    • |
    • permalink
    Bonjour Pierre,

    encore une idée qu'elle est bonne. Je ne savais pas qu'on pouvait utiliser SOMMEPROD avec du Booléen.
    Bien vu

    Curt
  3. Avatar de Pierre Fauconnier
    • |
    • permalink
    Salut Curt,

    Merci pour ton appréciation. Ca fait toujours plaisir.

    Citation Envoyé par curt
    [...]Je ne savais pas qu'on pouvait utiliser SOMMEPROD avec du Booléen.[...]
    Tu l'utilises comment, alors?
  4. Avatar de Pierre Fauconnier
    • |
    • permalink
    Salut Laurent

    Citation Envoyé par laurent_ott
    [...]En tout cas, c'est une documentation très intéressante qui peut donner des idées.
    Merci pour ton appréciation!

    Citation Envoyé par laurent_ott
    Avec mon éditeur, dans la formule, il y a des smileys qui se sont incrustés et qui gênent la lisibilité. Est-il possible de corriger cela ?[...]
    Quel est le smiley que tu as et où se situe-t-il? Quoi qu'il en soit, j'ai désactivé les smileys pour ce billet. Peux-tu me confirmer que c'est ok pour toi?

    Citation Envoyé par laurent_ott
    [...]Je pense que T dans la formule représente le nom du tableau utilisé, mais tu devrais peut-être le signaler plus clairement.[...]
    Remanié... J'espère que c'est plus clair ainsi
  5. Avatar de laurent_ott
    • |
    • permalink
    Bonjour Pierre.
    Au sujet des smileys, ils semblent apparaitre uniquement lorsque je lis le document APRES m'être connecté avec mon identifiant et mon mot de passe sur ce site. Mais tout va bien lorsque je consulte comme un utilisateur ordinaire (sans m'identifier). Cela vient donc peut-être de ma configuration utilisateur ?
  6. Avatar de pijaku
    • |
    • permalink
    Bonjour,

    Très belle illustration des capacités de SOMMEPROD.
    Par contre, tout comme Laurent, je te confirme la présence de smiley.
    De plus, je trouve qu'il y a beaucoup (toujours dans la formule) plus de parenthèses ouvrantes que fermantes :
    =SOMMEPROD((((T[X]="A"+(T[X]="B"+(T[X]="C")>0)*(T[Y]="D"*(T[Z]="E")
  7. Avatar de Pierre Fauconnier
    • |
    • permalink
    Salut Franck,


    Citation Envoyé par pijaku
    [...]
    De plus, je trouve qu'il y a beaucoup (toujours dans la formule) plus de parenthèses ouvrantes que fermantes :
    =SOMMEPROD((((T[X]="A"+(T[X]="B"+(T[X]="C")>0)*(T[Y]="D"*(T[Z]="E")
    Oui, mais si tu ouvres devant T[X], tu dois fermer derrière "A", "B" et "C", idem pour T[Y]

    Car il faut tester si on a A ou B ou C en X (parenthèses noires), puis les additionner (parenthèses rouges), puis tester que l'addition est > 0 (parenthèses vertes), ce qui fait trois parenthèses après la parenthèse de SOMMEPROD

    (((T[X]="A") + (T[X]="B") + (T[X]="C"))>0)

    Tout ce qu'il a entre les parenthèses vertes renvoie VRAI ou FAUX selon qu'il y a A ou B ou C en X, puis on multiplie avec les tests sur Y et Z.

    Je ne vois pas comment mettre moins de parenthèses...
  8. Avatar de pijaku
    • |
    • permalink
    Bonjour Pierre,

    Je parle du nombre de parenthèses tronqué à cause de l'affichage du forum.
    Ce n'est pas une critique de ta formule, mais lorsque je fais un copié/collé depuis le forum, j'obtiens ceci (j'ai ajouté les espaces pour l'affichage):
    =SOMMEPROD ( ( ( ( T[X]="A"+ ( T[X]="B"+ ( T[X]="C" ) >0 ) * ( T[Y]="D"* ( T[Z]="E" )

    Pour le coup, c'est le forum et pas l'auteur de la formule que je dénonce.
  9. Avatar de Pierre Fauconnier
    • |
    • permalink
    Citation Envoyé par pijaku
    [...]
    Je parle du nombre de parenthèses tronqué à cause de l'affichage du forum.[...]

    Pour le coup, c'est le forum et pas l'auteur de la formule que je dénonce.
    Arf... Je me disais bien que quelqu'un comme toi ne devait pas avoir de problèmes avec les parenthèses.

    Du coup, comme tout s'affiche bien sur mon écran, sans smileys et avec le bon nombre de parenthèses, je ne comprends pas bien le problème que toi et Laurent vous rencontrez. Je vais essayer avec d'autres explorateurs pour voir ce qui se passe. Si l'un d'entre vous peut me faire parvenir des copies d'écran en mp avec les configs utilisées, je pourrai faire remonter le problème technique...

    Bonne journée
  10. Avatar de Pierre Fauconnier
    • |
    • permalink
    Hello Laurent et Franck,

    Ok. J'ai enfin compris le problème. C'est lorsque l'on lit le billet en actualité que le problème apparaît. Sur le blog, on n'a pas ce souci.

    Je vais voir avec Anomaly (resp technique du site) comment on peut régler le problème.

    Merci pour vos explications en MP qui ont permis de piger ce qui clochait et quand ça clochait...