SOMMEPROD donne un #DIV/0!

  • Initiateur de la discussion Initiateur de la discussion Samantha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Samantha

XLDnaute Accro
Bonjour,

C'est bien la première fois que je me trouve face à cette réponse de la part d'un SOMMEPROD !!

Avez vous des piste sur le pourquoi du comment ?

La formule
SOMMEPROD(($C4=N_1Noms)*(A$2=N_1Chrono)*1;N_1Données)

J'ai déjà vérifié :
Les plages sont de dimensions comparables :
nbre de colonnes de N_1Noms = nbre de colonnes de N_1Données
nbre de lignes de N_1Chrono = nbre de lignes de N_1Données
N_1Noms = une colonne (la A de 4 à 72)
de N_1Chrono = une ligne (la 2 de B à V)
N_1Données de B 4 à V72

Toutes les cellules sont pleines,

Merci de vous pistes : j'essaye de vous alléger le fichier pour lundi là c'est la débauche 😉


A vous lire


Sam
 
Re : SOMMEPROD donne un #DIV/0!

Bonjour Samantha,
Dans l'attente du passage de Monique (ou d'autres bien sûr) sur ce fil, est ce que cette modification se serait utile :
SI(ESTERR(SOMMEPROD(($C4=N_1Noms)*(A$2=N_1Chrono)*1;N_1Données));"";
SOMMEPROD(($C4=N_1Noms)*(A$2=N_1Chrono)*1;N_1Données))
Bon courage.
 
Re : SOMMEPROD donne un #DIV/0!

Bonjour Christophe,

Merci pour ton intérêt à mon souci mais normalement une valeur devrait s'afficher dans cette cellule car au croisement de la ligne et de la colonne dans ma base il y a bien un montant que je souhaite reporter....

De plus ce qui est encore plus bizarre c'est que dans un autre fichier cette formule fonctionne aux petits oignons.

Une erreur de type #VALEUR! ou NOM! ne m'aurait pas étonnée et j'aurais bien eu des pistes pour trouver ma bourde mais un #DOV/0! .... Je sèche...

Dans l'attente de vous lire

Sam
 
Re : SOMMEPROD donne un #DIV/0!

Bonjour le Forum,
Bonjour Samantha, criscris11, jeanpierre,

Hum hum effectivement bisard ce #DIV/0!, pour l'instant je n'ais pas trouver la réponse mais comme ta formule ne te sert pas a faire une somme tu peux utiliser un index/equiv

En A4 de la feuille "sit mens" tu peux mettre aprés avoir modifié la plage nommée

N_1Données ='RN-1'!$B$4:$Q$72 par ='RN-1'!$B$2:$Q$72 et
N_1Noms ='RN-1'!$A$4:$A$72 par ='RN-1'!$A$2:$A$72

la formule :

=SI(C4="";"";INDEX(N_1Données;EQUIV($C4;N_1Noms;0);EQUIV($A$2;N_1Chrono;0)))

Voila en attendant je vais continuer a regarder

Jocelyn
 
Re : SOMMEPROD donne un #DIV/0!

re,

Bon alors a priori c'était toutes tes plages données qui n'allaient pas je les est refaite en indiquant que la plage par exemple N_1Données était égal non pas à ='RN-1'!$B$4:$Q$12 mais a ='RN-1'!$B$4:$B$12 même changement pour la plage NDonnées pas égale à =RN!$B$4:$B$72 mais à =RN!$B$4:$B$12

Ensuite il reste a modifier un peu la formule Sommeprod en colonne A :

=SOMMEPROD(($C4=N_1Noms)*(A$2=N_1Chrono)*1;N_1Données)

par

=SOMMEPROD(($C4=N_1Noms)*(A$2=N_1Chrono)*DECALER(N_1Données;0;EQUIV(A$2;N_1Chrono;0)-1))

et en colonne D,F,H et J

=SOMMEPROD(($C4=NNoms)*(D$2=NChrono)*1;NDonnées) par

=SOMMEPROD(($C4=NNoms)*(D$2=NChrono)*DECALER(NDonnées;0;EQUIV(D$2;NChrono;0)-1))

Voila

Jocelyn

Oup's Bonjour Claude 38 désolé pas rafraichit
 

Pièces jointes

Dernière édition:
Re : SOMMEPROD donne un #DIV/0!

Bonjour Jocelyn, Bonjour Claude

Et merci à vous deux.

Cependant je reste perplexe : comment se fait il que Excel se laisse distraire par le contenu des colonnes intermédiaires contenant les % puisque
1- j'avais bien pris garde de ne pas fusionner les colonnes sur la ligne de titre
2 - la recherche par sommeprod ne fait jamais dans le cas concerné référence à des cellules pouvant se trouver dans les colonnes de % même si celles-ci sont dans les matrices de recherche ?

Juste par pure curiosité maintenant que l'astuce de Claude bluffe notre joujou préféré 😉


Merci encore


Sam
 
Re : SOMMEPROD donne un #DIV/0!

Bonjour,

En n'ayant regardé que la feuille "SitMens", la formule ne renvoie pas #DIV/0! si on l'écrit comme ça
=SOMME(SI(ESTNUM(N_1Données);($C4=N_1Noms)*(A$2=N_1Chrono)*N_1Données))

Idem :
=SOMME(SI(ESTNUM(N_1Données);N_1Données*($C4=N_1Noms)*(A$2=N_1Chrono)))

SommeProd passait tout ça en revue pour essayer d'en faire la somme :
=SOMMEPROD({0.0.0.0.0.0.0.0.0.0.0.0.2613.0.0.0;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0;0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.0.0.0.0.0.0.0;0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.0.0.0.0.0.0.0;0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.#DIV/0!.0.0.0.0.0.0.0.0;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0})

Avec la condition Si(Estnum(Plage) :
=SOMME({FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.2613.FAUX.0.FAUX;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.0.FAUX.0.FAUX;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.0.FAUX.0.FAUX;0.FAUX.0.FAUX.0.FAUX.0.FAUX.0.FAUX.0.0.0.0.0.0;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.0.0.0.0.0;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.0.0.0.FAUX.0;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.FAUX.FAUX;0.0.0.0.0.0.0.0.0.FAUX.0.0.0.0.0.0;FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.0.FAUX.FAUX.FAUX.FAUX.FAUX})
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

P
Réponses
4
Affichages
874
Prelune
P
P
Réponses
15
Affichages
3 K
Pauliakov
P
V
Réponses
5
Affichages
1 K
J
  • Question Question
Réponses
3
Affichages
1 K
J
Réponses
8
Affichages
2 K
F
Réponses
0
Affichages
965
Fabienc75
F
Retour