Sommeprod(comptage) condition non remplie
planni
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Aprés avoir cherché longtemps dans les forum..
Je souhaiterais solliciter votre aide concernant la fonction sommeprod.
J'ai une formule qui marche bien quand tous les critères sont remplis mais dès qu'un critères ne l'est pas ( exemple D1 est vide), j'ai un résultats égal à 0.
Car j'imagine que la condition n'étant pas remplie, ça me multipli tout par 0.
Mais ce n'est pas ce que je veux. J'ai essayé avec le "ou" qui est le "+" mais c'est faux aussi ( de toute façon dans la logique ça ne va pas)
Ce qu'il faudrait c'est que même si D1 est vide, il me compte tout le reste...A savoir, le nombre de fois ou D2 D3 et D4 apparaissent ensemble sur la même ligne...
SOMMEPROD(G1:G100=D1)*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
J'espère avoir été claire...
Merci d'avance
Planni.
Aprés avoir cherché longtemps dans les forum..
Je souhaiterais solliciter votre aide concernant la fonction sommeprod.
J'ai une formule qui marche bien quand tous les critères sont remplis mais dès qu'un critères ne l'est pas ( exemple D1 est vide), j'ai un résultats égal à 0.
Car j'imagine que la condition n'étant pas remplie, ça me multipli tout par 0.
Mais ce n'est pas ce que je veux. J'ai essayé avec le "ou" qui est le "+" mais c'est faux aussi ( de toute façon dans la logique ça ne va pas)
Ce qu'il faudrait c'est que même si D1 est vide, il me compte tout le reste...A savoir, le nombre de fois ou D2 D3 et D4 apparaissent ensemble sur la même ligne...
SOMMEPROD(G1:G100=D1)*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
J'espère avoir été claire...
Merci d'avance
Planni.
A voir également:
- Sommeprod(comptage) condition non remplie
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Comptage de pas gratuit - Télécharger - Sport
- Excel soustraction avec condition ✓ - Forum Excel
- Condition optimale téléphone ✓ - Forum Mobile
7 réponses
Bonjour
essayez avec:
=SOMMEPROD((G1:G100=SI(D1<>"";D1;""))*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
crdlmnt
essayez avec:
=SOMMEPROD((G1:G100=SI(D1<>"";D1;""))*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
crdlmnt
suite:
ou alors si vous risquez d'avoir des valeurs en colonne G à compter bien que D1 soit vide:
=SI(ESTVIDE(D1);SOMMEPROD((K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4)) ;SOMMEPROD((G1:G100=D1))*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
(car la formule précédente ne comptera les lignes pour les cellules vides de la colonne G)
crdlmnt
ou alors si vous risquez d'avoir des valeurs en colonne G à compter bien que D1 soit vide:
=SI(ESTVIDE(D1);SOMMEPROD((K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4)) ;SOMMEPROD((G1:G100=D1))*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
(car la formule précédente ne comptera les lignes pour les cellules vides de la colonne G)
crdlmnt
Bonjour
Merci pour votre réponse Vaucluse,
en effet c'est plus la deuxième formule qui correspond
Cependant, toutes les cases "D" peuvent potentiellement être vides...c'est la que je bloque.
je ne peux accumuler plusieurs "SI"
Il faudrait "si D1 est vide" mais aussi "si D2 est vide" et "si D3 est vide"
j'ai mis un exemple plus parlant sur excel
Merci pour votre réponse Vaucluse,
en effet c'est plus la deuxième formule qui correspond
Cependant, toutes les cases "D" peuvent potentiellement être vides...c'est la que je bloque.
je ne peux accumuler plusieurs "SI"
Il faudrait "si D1 est vide" mais aussi "si D2 est vide" et "si D3 est vide"
j'ai mis un exemple plus parlant sur excel
Bonjour tout le monde,
salut vaucluse,
J'ai l'impression que ta 2nde proposition ne va pas si D1 non vide et une valeur différente de D1 en G1:G100
autre proposition :
=SOMMEPROD((((G1:G100=D1)+(D1=""))>0)*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
eric
salut vaucluse,
J'ai l'impression que ta 2nde proposition ne va pas si D1 non vide et une valeur différente de D1 en G1:G100
autre proposition :
=SOMMEPROD((((G1:G100=D1)+(D1=""))>0)*(K1:K100=D2)*(M1:M100=D3)*(W1:W100=D4))
eric
Salut Eric
"Ce qu'il faudrait c'est que même si D1 est vide, il me compte tout le reste...A savoir, le nombre de fois ou D2 D3 et D4 apparaissent ensemble sur la même ligne..".
la question initiale était , si je ne me trompe de compter le nombre de lignes ayant les valeurs D2 en colonne D2 en G,D3 en M et D4en W,quand D1 est vide.
A priori sans tenir compte de ce qu'il y avait en colonne D.??
Ta formule additionne et les valeurs de D égales à D1 , et les valeurs de colonne D vides (+ bien sur les trois autres conditions), non?
Je ne crois pas que c'était la question initiale???du moins je ne l'ai pas "deviné" comme ça
"Ce qu'il faudrait c'est que même si D1 est vide, il me compte tout le reste...A savoir, le nombre de fois ou D2 D3 et D4 apparaissent ensemble sur la même ligne..".
la question initiale était , si je ne me trompe de compter le nombre de lignes ayant les valeurs D2 en colonne D2 en G,D3 en M et D4en W,quand D1 est vide.
A priori sans tenir compte de ce qu'il y avait en colonne D.??
Ta formule additionne et les valeurs de D égales à D1 , et les valeurs de colonne D vides (+ bien sur les trois autres conditions), non?
Je ne crois pas que c'était la question initiale???du moins je ne l'ai pas "deviné" comme ça
Re vaucluse,
Ta formule additionne et les valeurs de D égales à D1 , et les valeurs de colonne D vides (+ bien sur les trois autres conditions), non?
Pas tout à fait.
si D1 n'est pas vide ma formule compte 1 pour D1 à D4 présents sur une ligne,
et si D1 est vide compte 1 pour D2 à D4 présents sur une ligne.
Dans une formule logique il faut considérer que + = OU, et * = ET.
En algèbre de Boole A1+A2 est équivalent à OU(A1;A2),
et A1*A2 est équivalent à ET(A1;A2), sachant 0=FAUX et <>0=VRAI
eric
Ta formule additionne et les valeurs de D égales à D1 , et les valeurs de colonne D vides (+ bien sur les trois autres conditions), non?
Pas tout à fait.
si D1 n'est pas vide ma formule compte 1 pour D1 à D4 présents sur une ligne,
et si D1 est vide compte 1 pour D2 à D4 présents sur une ligne.
Dans une formule logique il faut considérer que + = OU, et * = ET.
En algèbre de Boole A1+A2 est équivalent à OU(A1;A2),
et A1*A2 est équivalent à ET(A1;A2), sachant 0=FAUX et <>0=VRAI
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Génial ça marche,
Merci beaucoup.
Par contre je n'ai pas bien compris la subtilité du +(D1=""))>0
merci
Merci beaucoup.
Par contre je n'ai pas bien compris la subtilité du +(D1=""))>0
merci
le + est un OU, mais le OU ne passe pas toujours bien dans les fonctions matricielles, et sommeprod() est une fonction matricielle bien qu'on la valide normalement avec entrée
donc
(G1:G100=D1)+(D1="") retourne 0, 1 ou 2 selon le nombre de conditions remplies,
or on ne veut que 0 ou 1 en réponse pour ne pas fausser le sommeprod(), d'où le >0 dont le résultat sera FAUX ou VRAI, transformé en numérique 0 ou 1 par excel
Vu ton ajout sur D2, D3 et D4 pratiquer de même sur ces tests
eric
donc
(G1:G100=D1)+(D1="") retourne 0, 1 ou 2 selon le nombre de conditions remplies,
or on ne veut que 0 ou 1 en réponse pour ne pas fausser le sommeprod(), d'où le >0 dont le résultat sera FAUX ou VRAI, transformé en numérique 0 ou 1 par excel
Vu ton ajout sur D2, D3 et D4 pratiquer de même sur ces tests
eric
, je partait jeter un oeil sur ta dernière réponse, mais tout a disparu Eric
merci