OVH Cloud OVH Cloud

Sumproduct

15 réponses
Avatar
Denys
Bonjour =E0 tous,

Il y a des choses dans la vie qu'on ne peut tout=20
simplement pas assimiler... C'est le cas pour moi avec la=20
fonction Sumproduct... Pourtant, j'en ai plusieurs=20
exemples dans mes applications, mais il semble que je ne=20
sois pas fichu d'en cr=E9=E9er une sans votre aide...

Alors voici: dans la colonne A10, j'ai des dates format
dddd-yyy-mm-dd, soit Monday, 2003-01-06.

Dans la colonne C10, j'ai des montants en minutes 0:20,=20
cellules format=E9es H:MM avec formule If (B10<>"",)0:20,"")

Le montant des minutes est toujours le m=EAme, soit 20.

Ma formule Sumproduct va comme suit:

=3D(SUMPRODUCT(($A$10:$A$310=3DDATE(YEAR(NOW()),1,1)))*
($C$10:$C$311>0)*($C$10:$C$310))
ou encore

=3D(SUMPRODUCT(($A$10:$A$310=3DDATE(2003,1,1))*($C$10:$C$311>0)
*($C$10:$C$310)))

Y a rien =E0 faire, j'ai toujours comme r=E9ponse #value

Quelqu'un saurait???

Merci

Denys

5 réponses

1 2
Avatar
Nicolas B.
Si le résultat du sommeprod est en A1 :
=SI(ENT(A1*4)¡*4;ENT(A1*4)&" jour(s)";ENT(A1*4)&" jour(s) et
"&TEXTE(A1-ENT(A1*4)/4;"hh:mm"))

Je te laisse par contre traduire cette formule en anglais (il risque aussi
d'y avoir des problèmes dans le format de l'heure).
Le 4 provient de 24/6 : l'heure du sommeprod (1 h = 1/24) est convertie en
heures simples (1 h = 1) puis divisée par 6 (pour prendre le nombre de
journées de 6 heures).

Pour la deuxième question (calculs toujours effectués sur le résultat du
sommeprod) :
=SI(A1<20*6/24;"Bon à rien";"Augmentation !")


--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjour Nicolas et Daniel,

Vous êtes brillants les gars!!!! Les deux solutions
fonctionnent à merveille!!! je croyais avoir résolu le
problème avant, mais non.... Merci à vous deux...

Puis-je me permettre une autre question???

Sachant que chaque employé doit accumuler 6 heures
d'ouvrage par jour, comment pourrais-je avoir comme
réponse 1 jour et 40 minutes si l'employé a accumulé 6:40
heures dans une journée?

S'il y a 20 jours ouvrables dans le mois, comment faire
pour savoir si la personne a ccumulé le temps approprié?

Merci beaucoup encore une fois.

Denys


Avatar
Daniel.M
Bonjour,

Sachant que chaque employé doit accumuler 6 heures
d'ouvrage par jour, comment pourrais-je avoir comme
réponse 1 jour et 40 minutes si l'employé a accumulé 6:40
heures dans une journée?


Utilise 2 autres colonnes.
La première te donne le nombre de jours (tu divises le temps par "6:00" et
conserves l'entier)
Par ex, en E10
=INT(D10/"6:")

La deuxième contient le nombre de minutes. Tu soustrais du total le montant de
jours en E10*"6:"
Ñ0-E10*"6:"


S'il y a 20 jours ouvrables dans le mois, comment faire
pour savoir si la personne a ccumulé le temps approprié?


C'est quoi le temps approprié?
Mais de toute façon, tu as déjà en D10:Dxx les temps que tu peux traiter
directement.

Salutations,

Daniel M.

Avatar
Denys
rebonjour Nicolas et Daniel,

Merci infiniment à vous deux....J'ai vraiment l'impression
d'abuser....

Je vais travailler avec vos idées...

Encore une fois merci...

Denys

P.S. Nicolas, j'aime bien ta condition sur la deuxième
question.... Sauf qu'ici ce serait plus "Peut garder son
emploi" plutôt qu'augmentation !!!!!

Bonne soirée

Denys


-----Original Message-----
Bonjour Nicolas et Daniel,

Vous êtes brillants les gars!!!! Les deux solutions
fonctionnent à merveille!!! je croyais avoir résolu le
problème avant, mais non.... Merci à vous deux...

Puis-je me permettre une autre question???

Sachant que chaque employé doit accumuler 6 heures
d'ouvrage par jour, comment pourrais-je avoir comme
réponse 1 jour et 40 minutes si l'employé a accumulé 6:40
heures dans une journée?

S'il y a 20 jours ouvrables dans le mois, comment faire
pour savoir si la personne a ccumulé le temps approprié?

Merci beaucoup encore une fois.

Denys




.



Avatar
Nicolas B.
j'aime bien ta condition sur la deuxième
question.... Sauf qu'ici ce serait plus "Peut garder son
emploi" plutôt qu'augmentation !!!!!


;-)))))))


Bonne nuit
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC

Avatar
gee-dee-
Bonsoir denys,
tu peux simplifier, sans cellule intermédiaire....

=IF(B10<>"",1/72,"")

1/72 = 1 soixante-douzieme de 1 jour soit 20mn

@+
1 2