SOMMEPROD

C

C@thy

Guest
Bonjour le forum,

ah la la, j'ai toujours des problèmes avec SOMMEPROD, alors je m'en sors
avec une matricielle! (je sais, honte à moi!!!), alors si quelqu'un (ou
quelqu'une) spécialiste des SOMMEPROD (j'en connais!!!) passe par là,
peut-il (elle) me donner un petit coup de main pour transformer ma
matricielle en SOMMEPROD?

Merci d'avance

C@thy
BipBip.gif
 
C

C@thy

Guest
Ah, la pièce jointe è veut pô passer (56k!)!!!
ma formule matricielle :

=SOMME(SI($U$5:$U$504=EQUIV($AB6;mois;0);SI($N$5:$N$504=AD$5;1;0);0))

en U5 à U504 j'ai une formule =mois(Datenaiss)

dans mois (de AB6 à AB17) j'ai la liste des 12 mois

en AD5 : AK5 la liste des agents.

J'espère que vous avez tout compris.

Merci pour le lien.

Zibous

C@thy
BipBip.gif
 
J

Jean-Marie

Guest
Re... Cathy

Mais je me lance quand même, on verra si c'était bon, avec la fonction sommeprod.

Je suppose qu'il y a dans la plage AB6:AB17 les valeurs janvier, février, mars, etc. avec la fonction Equiv($AB6;AB6:AB17) tu transformes les mois écrit en texte sous forme numérique, c'est idiot.

Pour la fonction sommeprod, la condition SI($N$5:$N$504=AD$5;1;0);0), ne sert à rien, puisque VRAI*12 = 1 ou FAUX*112 = 0

Voilà la fonction complète =SOMMEPROD(($U$1:$U$53=$AB6)*($V$1:$V$53=AD$5))

@+Jean-Marie
 
M

Monique

Guest
Bonjour,

Sans la colonne intermédiaire U5:U504 des mois de naissance
et sans la plage des 12 mois.
La colonne des noms est nommée "Noms"
celle des dates de naissance est nommée "DateNaiss"
En AD6 :
=SOMMEPROD((MOIS(DateNaiss)=LIGNES(AD$6:AD6))*(Noms=AD$5))
 
C

C@thy

Guest
Merci Jean-Marie, Monique,


j'avais testé =SOMMEPROD(($U$1:$U$53=$AB6)*($N$1:$N$53=AD$5)) mais
ça ne marchait pas, c'est pourquoi j'ai fait une matricielle. La formule de Monique marche SUPER BIEN sauf dans un cas : lorsque le nom est vide (ça arrive) pour le mois de janvier. Monique, je t'envoie mon fichier ce sera plus clair.

Biz et merci.

C@thy
BipBip.gif
 
T

Ti

Guest
Cathy, n'aie pas honte d'utiliser une matricielle tout de même, puisque SOMMEPROD est elle-même une formule matricielle, même si on ne tape pas les parenthèses.

Moi qui suis un gros paresseux, il m'est déjà arrivé de mettre un SOMMEPROD dans une fonction juste pour me dispenser de ces parenthèses.
C'est le cas d'ailleurs avec le célèbre =SOMMEPROD(1/NB.SI(plage;plage))
 
C

C@thy

Guest
Ah merci, Ti, tu me rassures!!!

N'empêche, j'ai honte quand même de ne pas savoir écrire une formule avec SOMMEPROD, alors tu vois, pour moi, la paresse c'est d'utiliser une matricielle car ça je sais faire.

C'est bizarre ta formule, ça me donne de drôles de résultats!

F7.gif
C@thy
BipBip.gif
 
J

Jean-Marie

Guest
Bonjour Cathy, Monique, Ti

J'ai dis une énorme bêtise dans mon post, il faut lire VRAI * VRAi retourne 1 et VRAI *FAUX retourne 0

Cathy la formule de Ti retourne le nombre d'éléments qui sont différents dans la plage de cellule. Mai il faudra que l'on explique le comment de l'opération, si dans une plage de 47 cellules nous mettons le même chiffre sauf 1 fois, la fonction sommeprod va additionner 47 fois le résultat de 1/46 (0,021739130434782600000000000000)+ le résultat de 1/1, alors comment sommeprod fait pour trouver 2

@+Jean-Marie
 
T

Ti

Guest
pour la fameuse formule, il faut la comprendre ainsi :

déjà le Sommeprod fait travailler le NB.SI en matricielle, ce qui fait qu'un tableau contenant les occurrences de chaque item dans la plage de référence est renvoyé :

ex :

paul
jacques
bert
albert
paul

NB.Si renvoie le tableau suivant : {2;1;1;1;2} ==> paul apparaît 2 fois, puis jacques 1 fois etc.

puis, après 1/NB.SI, on a le tableau suivant : {0.5;1;1;1;0.5} ==> 1/2 = 0.5 etc.

Enfin, SOMMEPROD fait son boulot et additionne ces valeurs, ce qui nous donne 4.

Pour moi, c'est le modèle de formule : simple et efficace. J'aurais aimé la trouver !
 

Discussions similaires

Réponses
5
Affichages
489
Réponses
35
Affichages
2 K
Réponses
10
Affichages
432

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 144
Messages
2 106 357
Membres
109 563
dernier inscrit
sylla121