SOMMEPROD

  • Initiateur de la discussion max
  • Date de début
M

max

Guest
Bonjour à tous

J'utilisais la fonction SOMMPROD pour compter les personnes présentent ,
dans un planning (début -fin dans des colonnes adjacentes)
mais je suis obligé maintenant d'utiliser lles fonction "gauche" et droite
pour remettre en forme, l'application me donnant désormais le début et la fin des vacations dans la même cellule.et il semble que du coup SOMMEPROD ne veut plus rien savoir.
Quelqu'un a t il une petite idée?

merci de vos renseignements
 
M

Monique

Guest
Bonjour,

SommeProd accepte les fonctions Gauche et Droite
Mais il faut rendre numérique le résultat de l'extraction de texte
GAUCHE(A2:A10;5)*1
et penser que 8 heures, pour Excel, c'est 8/24
(GAUCHE(A2:A10;5)*1<=8/24)
Ou bien on ne rend pas le résultat numérique, mais on met l'heure entre guillemets :
(GAUCHE(A2:A6;5)>="08:00")

De A1 à A10, des débuts et des fins dans la même cellule, du genre 05:00 - 18:00
S'il n'y a pas de cellules vides :
=SOMMEPROD((GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24))
S'il y a des cellules vides :
=SOMMEPROD(SI(A2:A10<>"";(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))
formule matricielle, à valider par ctrl, maj et entrée
Tant qu'à valider en matriciel, autant utiliser Somme(Si, 3 fois rien plus court :
=SOMME(SI(A2:A10<>"";(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))

En tapant les bornes en C1 et D1 (plus pratique)
=SOMMEPROD((GAUCHE(A2:A10;5)*1>=C1)*(DROITE(A2:A10;5)*1<=D1))
=SOMME(SI(A2:A10<>"";(GAUCHE(A2:A10;5)*1>=C1)*(DROITE(A2:A10;5)*1<=D1)))
 
M

max

Guest
bonjour monique,
je te remercie de ta réponse,
je n'ai pas eu le temps de vérifier totalement
mais dans mon cas je pense qu'il y a un problème
car parfois c'est du texte qui y est écrit "congé"
par exemple et la ça ne marche plus.

bonne journée
 
M

Monique

Guest
Bonjour,

Si tu as autre chose que ce genre de données : 10:00 - 20:00
=SOMME(SI(DROITE(A2:A10;3)=":00";(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))
=SOMME(SI(DROITE(A2:A10)="0";(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))
=SOMME(SI(NBCAR(A2:A10)=13;(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))
=SOMME(SI(ESTNUM(TROUVE(":";A2:A10));(GAUCHE(A2:A10;5)*1>=8/24)*(DROITE(A2:A10;5)*1<=18/24)))
Ce sont toutes des formules matricielles, à valider par ctrl, maj et entrée.
Tu adaptes, tu fais des essais et, si problème, tu donnes un exemple précis,
parce que là, on joue aux devinettes.
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 974
Membres
103 995
dernier inscrit
Flodk