Sommeprod
Linebaker
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
La formule suivante : =SOMMEPROD((G:G="LF")*(H:H=044001001)*(M:M))+SOMMEPROD((G:G="LF")*(H:H=044001003)*(M:M)) me donne comme résultat #Valeur.
Comment la corriger ?
Merci
La formule suivante : =SOMMEPROD((G:G="LF")*(H:H=044001001)*(M:M))+SOMMEPROD((G:G="LF")*(H:H=044001003)*(M:M)) me donne comme résultat #Valeur.
Comment la corriger ?
Merci
2 réponses
Bonjour
1°) êtes vous sur que votre formule affiche bien le 0 du début des codes dans la barre de formule car en principe si le code n'est pas entre guillemets, Excel élimine automatiquement le 1° 0
2°) pour que SOMMEPROD, assez gourmand en capacité, ne soit pas trop lourd dans le fichier, mieux vaut spécifier les hauteurs de champs (H2:H1000 par ex au lieu de H:H )
3°) si la formule vous renvoie valeur, c'est que vous avez dans la colonne M des valeurs non numériques, ce qui est fort probable si vous avez par exemple un titre en M1. Si oui, commencez comme dit ci dessus le cham en M2:Mxx x(même hauteur pour tous les items de la formule)
4°) si vous avez Excel >= 2007 essayez plutôt
=SOMME.SI.ENS(M:M;H:H;044001001;G:G;"LF")+SOMME.SI.ENS(M:M;H:H;044001003;G:G;"LF")
5°) et s'il faut passer par SOMEPROD impérativement, avec des textes en M, passez en matricielle (entrée avec touche ENTER en maintenant ctrl et shift enfoncées) de 1 à 1000
=SOMME.PROD((($H$1:$H$1000=044001001)*($G$1:$G$1000="LF")*(SI(ESTNUM($M$1:$M$1000);$M$1:$M$1000)))
crdlmnt
1°) êtes vous sur que votre formule affiche bien le 0 du début des codes dans la barre de formule car en principe si le code n'est pas entre guillemets, Excel élimine automatiquement le 1° 0
2°) pour que SOMMEPROD, assez gourmand en capacité, ne soit pas trop lourd dans le fichier, mieux vaut spécifier les hauteurs de champs (H2:H1000 par ex au lieu de H:H )
3°) si la formule vous renvoie valeur, c'est que vous avez dans la colonne M des valeurs non numériques, ce qui est fort probable si vous avez par exemple un titre en M1. Si oui, commencez comme dit ci dessus le cham en M2:Mxx x(même hauteur pour tous les items de la formule)
4°) si vous avez Excel >= 2007 essayez plutôt
=SOMME.SI.ENS(M:M;H:H;044001001;G:G;"LF")+SOMME.SI.ENS(M:M;H:H;044001003;G:G;"LF")
5°) et s'il faut passer par SOMEPROD impérativement, avec des textes en M, passez en matricielle (entrée avec touche ENTER en maintenant ctrl et shift enfoncées) de 1 à 1000
=SOMME.PROD((($H$1:$H$1000=044001001)*($G$1:$G$1000="LF")*(SI(ESTNUM($M$1:$M$1000);$M$1:$M$1000)))
crdlmnt
Bonjour,
Merci pour ton aide, j'ai modifié ta réponse et cela fonctionne :
=SOMME.SI.ENS(M4:M17;G4:G17;"LF";H4:H17;3044001001)+SOMME.SI.ENS(M4:M17;G4:G17;"LF";H4:H17;3044001003)
Mais si je choisi les colonnes M:O, rien ne fonctionne ?
=SOMME.SI.ENS(M4:O17;G4:G17;"LF";H4:H17;3044001001)+SOMME.SI.ENS(M4:O17;G4:G17;"LF";H4:H17;3044001003)
Merci
Merci pour ton aide, j'ai modifié ta réponse et cela fonctionne :
=SOMME.SI.ENS(M4:M17;G4:G17;"LF";H4:H17;3044001001)+SOMME.SI.ENS(M4:M17;G4:G17;"LF";H4:H17;3044001003)
Mais si je choisi les colonnes M:O, rien ne fonctionne ?
=SOMME.SI.ENS(M4:O17;G4:G17;"LF";H4:H17;3044001001)+SOMME.SI.ENS(M4:O17;G4:G17;"LF";H4:H17;3044001003)
Merci
SOMME.SI.ENS ne fonctionne que sur une colonne
pour traiter un champ M à O il faut passer par SOMMEPROD
et donc si M4 à O17 ne contiennent pas de texte:
=SOMMEPROD((G4:G17="LF")*(H4:H17=3044001001)*(M4:O17))
pour éviter l'addition de deux codes,, vous pouvez même écrire:
=SOMMEPROD((G4:G17="LF")*((H4:H17=3044001001)+(H4:H17=3044001003))*(M4:O17))
et si il y a des textes en M4:O17, passez par la matricielle:
=SOMMEPROD((G4:G17="LF")*((HA:H17=3044001001)+(H4:H17=3044001003))*(SI(ESTNUM(M4:O17);M4:O17)))+ETC==
rappel: entrer une matricielle:
avec la touche enter en maintenant les touches ctrl et shift enfoncées
dans tous les cas: veilliez bien à la position des parenthsèses
crdlmnt
pour traiter un champ M à O il faut passer par SOMMEPROD
et donc si M4 à O17 ne contiennent pas de texte:
=SOMMEPROD((G4:G17="LF")*(H4:H17=3044001001)*(M4:O17))
pour éviter l'addition de deux codes,, vous pouvez même écrire:
=SOMMEPROD((G4:G17="LF")*((H4:H17=3044001001)+(H4:H17=3044001003))*(M4:O17))
et si il y a des textes en M4:O17, passez par la matricielle:
=SOMMEPROD((G4:G17="LF")*((HA:H17=3044001001)+(H4:H17=3044001003))*(SI(ESTNUM(M4:O17);M4:O17)))+ETC==
rappel: entrer une matricielle:
avec la touche enter en maintenant les touches ctrl et shift enfoncées
dans tous les cas: veilliez bien à la position des parenthsèses
crdlmnt