[Résolu] SOMMEPROD seulement si valeurs négatives

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

[Résolu] SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

Bonjour,

J'utilise la fonction SOMMEPROD pour calculer la somme des produits entre deux colonnes, PAR EXEMPLE : SOMMEPROD(C2:C105;$L2:$L105).
Pas de problème, même si certaines cellules sont vides.

Mais j'aimerais dans un nouveau calcul que seules les valeurs négatives dans la colonne C2:C105 soient prises en compte dans le calcul.

J'imagine qu'il faut mettre une condition (IF ?) quelque part, mais comment l'intégrer à SOMMEPROD ?

Merci d'avance pour votre aide.
Dernière modification par Coucoucemoi le 12 juin 2025 15:45, modifié 2 fois.
MacOS 10.14.6, LibreOffice 7.4.6.2
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9836
Inscription : 28 août 2010 08:45

Re: SOMMEPROD seulement si valeurs négatives

Message par micmac »

Bonjour,

Dernière visite 27 mars 2020
Dans votre signature il y a écrit :À la maison : MacOS 10.14.4, LibreOffice 6.3.5
Au boulot : Windows 10 Pro, LibreOffice 6.1.6.3 (Obligation de version, je n'ai pas la main sur les mises à jour).
Accès direct à votre signature pour la corriger si nécessaire.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25994
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: SOMMEPROD seulement si valeurs négatives

Message par Dude »

Salut,

Comme d'habitude, un document exemple serait plus parlant.
Image
viewtopic.php?t=55599&hilit=sommeprod+n%C3%A9gati%2A
Jeff
GourOOu
GourOOu
Messages : 9944
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: SOMMEPROD seulement si valeurs négatives

Message par Jeff »

Bonjour,
Dude a écrit : 12 juin 2025 08:22 un document exemple serait plus parlant.
+ 1
Coucoucemoi a écrit : 12 juin 2025 08:09 J'utilise [...] SOMMEPROD(C2:C105;$L2:$L105). [...]
j'aimerais dans un nouveau calcul que seules les valeurs négatives dans la colonne C2:C105 soient prises en compte
À tester :

Code : Tout sélectionner

=SOMMEPROD(((C2:C105)<0)*($L2:$L105))
A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.15 / Debian 12.10 "bookworm" / Xfce
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

Re: SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

Merci pour vos réponses :

@micmac : signature mise à jour, désolé de l'ancienneté des informations.

@Dude : voici le tableur concerné.
SommeProdNeg.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MacOS 10.14.6, LibreOffice 7.4.6.2
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

Re: SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

@Jeff dont je n'ai vu la réponse qu'après avoir répondu à micmac et Dude :

La formule proposée est acceptée du point de vue de la syntaxe, mais le résultat n'est pas correct : il est positif alors qu'il devrait être négatif, et sa valeur absolue est bien trop faible.
J'ai tenté de mettre comme séparateur entre matrices le point-virgule (cf la syntaxe de SOMMPROD d'après l'aide) et non l'étoile : ça ne change rien.
MacOS 10.14.6, LibreOffice 7.4.6.2
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1823
Inscription : 15 déc. 2010 08:33

Re: SOMMEPROD seulement si valeurs négatives

Message par yclik »

Bonjour
Coucoucemoi a écrit : 12 juin 2025 08:42 =SOMMEPROD(((C2:C105)<0)*($L2:$L105))
Comme l'indique coucoucemoi c'est la solution

exemple en
A101

Code : Tout sélectionner

=SOMMEPROD((A2:A91<0)*($I$2:$I$91))
ou

Code : Tout sélectionner

=SOMMEPROD(A2:A91<0;$I$2:$I$91)
OpenOffice 4.1.14 sous Windows 11
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

Re: SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

@Jeff et yclik :
Le résultat obenu par cette formule pour la colonne A (12,44) est incorrect.
Le résultat théoriques pour le SOMMEPROD des colonnes A et I, calculé "à moitié à la main", est -603,59.
MacOS 10.14.6, LibreOffice 7.4.6.2
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: SOMMEPROD seulement si valeurs négatives

Message par Jean-Louis Cadeillan »

Bonjour,
Je ne suis pas sûr d'avoir bien compris, mais si tu veux la somme des produits de deux colonnes, l'une étant A à H, l'autre étant toujours I, avec comme condition que la valeur de la première soit négative, il y aura trois arguments dans SOMMEPROD() (ici en A101) :

Code : Tout sélectionner

=SOMMEPROD(A2:A91<0;A2:A91;$I2:$I91)
À tester ci-joint,
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

[Résolu] SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

Merci Jean-Louis, non seulement tu as parfaitement compris, et en plus la formule que tu proposes répond parfaitement à ma demande.

Je passe donc le sujet en [Résolu] et vous remercie tous pour vos réactions rapides et efficaces.

Je note donc que la fonction accepte, en plus de n matrices, un test en premier argument (voire plusieurs ?). Dommage que ce ne soit pas documenté dans l'Aide qui dit juste :
"SOMMEPROD(matrice1[;matrice2;][...;[matrice255]])
matrice1[;matrice2;][...;[matrice255]] représente les matrices dont les éléments correspondants doivent être multipliés.
Au moins une matrice doit faire partie de la liste d'arguments.
"
MacOS 10.14.6, LibreOffice 7.4.6.2
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9947
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: SOMMEPROD seulement si valeurs négatives

Message par tintin »

AOO 4.1.15 et LibO 24.8.7.2 / macOS Intel 13.7.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_452 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: SOMMEPROD seulement si valeurs négatives

Message par Jean-Louis Cadeillan »

Coucoucemoi a écrit : 12 juin 2025 12:32 Je note donc que la fonction accepte, en plus de n matrices, un test en premier argument (voire plusieurs ?).
Il faut comprendre que SOMMEPROD() fait toujours une somme de produits.

Code : Tout sélectionner

=SOMMEPROD(A2:A91<0;A2:A91;$I2:$I91)
Dans cet exemple, il y a trois matrices vecteurs (matrices-colonnes) de 90 cellules chacune :
  • La première contient {0;0;0;0;0;0;0;1;0;1;0;1;0;1;0;1;0;1;0;1;etc.} puisque c'est le résultat d'un test (VRAI =1, FAUX = 0) ;
  • La seconde (A2:A91) contient {rien; rien;rien;rien;rien;rien;rien;-750;rien;-17,14;rien;-5;45;-45;rien;etc.} ;
  • La troisième (I2:I91) contient {1;1;1;1;1;1;0,24545;0,24545;0,24545;0,24545;0,24545; etc}.
SOMMEPROD() se contente de faire le produit de chaque triplet de même niveau (même ligne) et de sommer le tout :
0*rien*1 + 0*rien*1 + 0*rien*1 + 0*rien*1 + 0*rien*1 + 0*rien*1 + 0*rien*0,24545 + 1*-750*0,24545 + etc.
rien est interprété comme 0.
Pour conclure le test est un vecteur comme les autres, il peut être au début , au milieu, n'importe où dans la liste des arguments de SOMMEPROD()… et bien sûr, il peut y en avoir plusieurs.
NB :
  • ce qui est important, c'est que les vecteurs aient le même nombre de cellules ;
  • ce pourrait être des vecteurs-lignes ;
  • on ne mélange pas vecteurs-lignes avec vecteurs-colonnes.
Cordialement,
Jean-Louis
Dernière modification par Jean-Louis Cadeillan le 12 juin 2025 13:28, modifié 1 fois.
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
Coucoucemoi
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 12 juil. 2018 12:09

Re: SOMMEPROD seulement si valeurs négatives

Message par Coucoucemoi »

Merci Jean-Louis pour cette explication complémentaire sur la matrice qui résulte d'une condition, c'est plus clair dans mon esprit désormais.
MacOS 10.14.6, LibreOffice 7.4.6.2
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9947
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: [Résolu] SOMMEPROD seulement si valeurs négatives

Message par tintin »

Bis repetita
Vous avez lu en diagonale
AOO 4.1.15 et LibO 24.8.7.2 / macOS Intel 13.7.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_452 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles