Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sommeprod multi critères

8 réponses
Avatar
stef
Bonjour,
J'ai 2 colonnes:
une type: 1,01+,2,02-..
et une autre type: ER, ME..

J'aimerais savoir combien il y a par exemple de ER avec la note 1 sachant
que 01+ est équivalent à 1
j'ai essayé: sommeprod((F:F=1)*(F:F=~01*)*(G:G=ER))
mais ça ne fonctionne pas
merci d'avance pour votre aide

8 réponses

Avatar
poypoy
Bonjour Stef,

Voici une formule (que les pros déclareront moche j'en suis sûr ^^) mais qui
marche à condition de connaître ta plage de données : ici de la ligne 1 à 19


=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)
Cordialement
Benjamin

PS : Il y avait une erreur logique dans ta formule : tu multiplie la colonne
F pour les cas ou elle est égale à 1 et les cas ou elle est égale à 01+...Or
elle ne peut être égale qu'à l'un d'entre eux pour chaque ligne.



Bonjour,
J'ai 2 colonnes:
une type: 1,01+,2,02-..
et une autre type: ER, ME..

J'aimerais savoir combien il y a par exemple de ER avec la note 1 sachant
que 01+ est équivalent à 1
j'ai essayé: sommeprod((F:F=1)*(F:F=~01*)*(G:G=ER))
mais ça ne fonctionne pas
merci d'avance pour votre aide



Avatar
stef
Merci pr ta réponse; ça fonctionne
juste une petite question: pq tas mis "*1" à chaque fois apres les
parenthèses?
Autre chose, est ce que je peux rajouter un autre critere telle que "-"
de la meme maniere

Vraiment merci en tt cas; tu me sauve la vie

"poypoy" wrote:

Bonjour Stef,

Voici une formule (que les pros déclareront moche j'en suis sûr ^^) mais qui
marche à condition de connaître ta plage de données : ici de la ligne 1 à 19


=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)
Cordialement
Benjamin

PS : Il y avait une erreur logique dans ta formule : tu multiplie la colonne
F pour les cas ou elle est égale à 1 et les cas ou elle est égale à 01+...Or
elle ne peut être égale qu'à l'un d'entre eux pour chaque ligne.



Bonjour,
J'ai 2 colonnes:
une type: 1,01+,2,02-..
et une autre type: ER, ME..

J'aimerais savoir combien il y a par exemple de ER avec la note 1 sachant
que 01+ est équivalent à 1
j'ai essayé: sommeprod((F:F=1)*(F:F=~01*)*(G:G=ER))
mais ça ne fonctionne pas
merci d'avance pour votre aide





Avatar
poypoy
Rebonjour,

J'ai mis * 1 parce que sinon tu auras un array de Vrai/Faux (tu demandes à
excel de vérifier une condition) et non de 1/0, du coup il te renverra 0 tout
le temps. En le multipliant par 1, tu transforme vrai en 1 et faux en 0 du
coup tu obtiens ce que tu veux.

Pour rajouter un critère, il faut malheureusement avec cette formule
rajouter un sumproduct
=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)+sumproduct((F1:F19="01-")*1;....)+sumproduct(...)...
C'est pourquoi on doit pouvoir faire mieux

Cordialement
Benjamin


Merci pr ta réponse; ça fonctionne
juste une petite question: pq tas mis "*1" à chaque fois apres les
parenthèses?
Autre chose, est ce que je peux rajouter un autre critere telle que "-"
de la meme maniere

Vraiment merci en tt cas; tu me sauve la vie

"poypoy" wrote:

Bonjour Stef,

Voici une formule (que les pros déclareront moche j'en suis sûr ^^) mais qui
marche à condition de connaître ta plage de données : ici de la ligne 1 à 19


=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)
Cordialement
Benjamin

PS : Il y avait une erreur logique dans ta formule : tu multiplie la colonne
F pour les cas ou elle est égale à 1 et les cas ou elle est égale à 01+...Or
elle ne peut être égale qu'à l'un d'entre eux pour chaque ligne.



Bonjour,
J'ai 2 colonnes:
une type: 1,01+,2,02-..
et une autre type: ER, ME..

J'aimerais savoir combien il y a par exemple de ER avec la note 1 sachant
que 01+ est équivalent à 1
j'ai essayé: sommeprod((F:F=1)*(F:F=~01*)*(G:G=ER))
mais ça ne fonctionne pas
merci d'avance pour votre aide







Avatar
stef
salut "poypoy"

juste une derniere question: la derniere formule que tu as écrite est
parfaite pr moi; il me manque juste un truc:
imagine maitenant qu'il y ai une 3eme colonne en plus des ER et des 01+.
Cette derniere colonne rassemble des chiffres...
J'aimerais maintenant par exemple, faire la somme des cellules de cette
derniere colonne lorque la ligne montre qu'ils sont ER et 1 ou 01+ ou 01-.
Encore merci ..

"poypoy" wrote:

Rebonjour,

J'ai mis * 1 parce que sinon tu auras un array de Vrai/Faux (tu demandes à
excel de vérifier une condition) et non de 1/0, du coup il te renverra 0 tout
le temps. En le multipliant par 1, tu transforme vrai en 1 et faux en 0 du
coup tu obtiens ce que tu veux.

Pour rajouter un critère, il faut malheureusement avec cette formule
rajouter un sumproduct :
=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)+sumproduct((F1:F19="01-")*1;....)+sumproduct(...)...
C'est pourquoi on doit pouvoir faire mieux

Cordialement
Benjamin


Merci pr ta réponse; ça fonctionne
juste une petite question: pq tas mis "*1" à chaque fois apres les
parenthèses?
Autre chose, est ce que je peux rajouter un autre critere telle que "-"
de la meme maniere

Vraiment merci en tt cas; tu me sauve la vie

"poypoy" wrote:

Bonjour Stef,

Voici une formule (que les pros déclareront moche j'en suis sûr ^^) mais qui
marche à condition de connaître ta plage de données : ici de la ligne 1 à 19


=SUMPRODUCT((F1:F19=1)*1;(G1:G19="ER")*1)+SUMPRODUCT((F1:F19="01+")*1;(G1:G19="ER")*1)
Cordialement
Benjamin

PS : Il y avait une erreur logique dans ta formule : tu multiplie la colonne
F pour les cas ou elle est égale à 1 et les cas ou elle est égale à 01+...Or
elle ne peut être égale qu'à l'un d'entre eux pour chaque ligne.



Bonjour,
J'ai 2 colonnes:
une type: 1,01+,2,02-..
et une autre type: ER, ME..

J'aimerais savoir combien il y a par exemple de ER avec la note 1 sachant
que 01+ est équivalent à 1
j'ai essayé: sommeprod((F:F=1)*(F:F=~01*)*(G:G=ER))
mais ça ne fonctionne pas
merci d'avance pour votre aide









Avatar
Daniel.M
Hello,

imagine maitenant qu'il y ai une 3eme colonne en plus des ER et des 01+.
Cette derniere colonne rassemble des chiffres...
J'aimerais maintenant par exemple, faire la somme des cellules de cette
derniere colonne lorque la ligne montre qu'ils sont ER et 1 ou 01+ ou 01-.
Encore merci ..


Mettons que c'est la colonne D:

=SOMMEPROD((F1:F19=TRANSPOSE({1;"01+";"01-"}))*(G1:G19="ER")*D1:D19)

Tu n'as pas besoin d'utiliser TRANSPOSE() si tu connais ton séparateur matriciel
horizontal (soit "." "" ou ",")
Auquel cas, tu remplaces les ";" dans la matrice de constantes horizontales
{1;"01+";"01-"} par celui-ci.

Salutations,

Daniel M.

Avatar
poypoy
Bonjour Daniel,

j'avoue que je necomprends pas ta formule ^^
A quoi sert le transpose ? Il sert de ou ?
Au passage, ma fonction somproduct refuse les arrays si je ne les sépare pas
par des ; , est ce différent dans excel francais ou est ce une autre écritue
qui se remplacerait par une autre fonction en anglais ?

Bref, ta réponse me plonge dans la confusion lol

Cordialement
Benjamin


Hello,

imagine maitenant qu'il y ai une 3eme colonne en plus des ER et des 01+.
Cette derniere colonne rassemble des chiffres...
J'aimerais maintenant par exemple, faire la somme des cellules de cette
derniere colonne lorque la ligne montre qu'ils sont ER et 1 ou 01+ ou 01-.
Encore merci ..


Mettons que c'est la colonne D:

=SOMMEPROD((F1:F19=TRANSPOSE({1;"01+";"01-"}))*(G1:G19="ER")*D1:D19)

Tu n'as pas besoin d'utiliser TRANSPOSE() si tu connais ton séparateur matriciel
horizontal (soit "." "" ou ",")
Auquel cas, tu remplaces les ";" dans la matrice de constantes horizontales
{1;"01+";"01-"} par celui-ci.

Salutations,

Daniel M.






Avatar
poypoy
Pfffff désolé, j'ai oublié de changer sommepro en sumproduct,
je suis pas réveill moi ce matin

Encore une journée où j'irais dormir moins bête !

Cordialement
Benjamin


Hello,

imagine maitenant qu'il y ai une 3eme colonne en plus des ER et des 01+.
Cette derniere colonne rassemble des chiffres...
J'aimerais maintenant par exemple, faire la somme des cellules de cette
derniere colonne lorque la ligne montre qu'ils sont ER et 1 ou 01+ ou 01-.
Encore merci ..


Mettons que c'est la colonne D:

=SOMMEPROD((F1:F19=TRANSPOSE({1;"01+";"01-"}))*(G1:G19="ER")*D1:D19)

Tu n'as pas besoin d'utiliser TRANSPOSE() si tu connais ton séparateur matriciel
horizontal (soit "." "" ou ",")
Auquel cas, tu remplaces les ";" dans la matrice de constantes horizontales
{1;"01+";"01-"} par celui-ci.

Salutations,

Daniel M.






Avatar
Daniel.M
"poypoy" wrote in message
news:
Bonjour Daniel,

j'avoue que je necomprends pas ta formule ^^
A quoi sert le transpose ? Il sert de ou ?


Ici, il convertit la constante matricielle verticale en horizontale.

Au passage, ma fonction somproduct refuse les arrays si je ne les sépare pas
par des ; ,


Donc, ton séparateur de constantes matricielles verticales = ";"
et ton séparateur de constantes matricielles horizontales = ","


est ce différent dans excel francais ou est ce une autre écritue
qui se remplacerait par une autre fonction en anglais ?


Pas pour les verticales mais pour les horizontales, oui (car les horizontales
varient selon les paramètres régionaux).

En anglais (encore plus court, sans utiliser le TRANSPOSE) :
=SUMPRODUCT((F1:F19={1,"01+","01-"})*(G1:G19="ER")*D1:D19)

Salutations,

Daniel M.