Sommeprod

Fermé
Linebaker Messages postés 51 Date d'inscription vendredi 23 novembre 2012 Statut Membre Dernière intervention 21 avril 2023 - Modifié le 21 mars 2018 à 06:15
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 21 mars 2018 à 11:03
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

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié le 21 mars 2018 à 07:50
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


0
Linebaker Messages postés 51 Date d'inscription vendredi 23 novembre 2012 Statut Membre Dernière intervention 21 avril 2023 1
Modifié le 21 mars 2018 à 10:47
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié le 21 mars 2018 à 11:03
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
0