Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Encore SOMMEPROD dur dur

C

Christian

Guest
Bonjour à tout le forum,

Je ne trouve pas la solution à mon problème ;
j'ai un planning sur lequel je compte les hrs de nuit. J'utilise "SOMMEPROD" en faisant référence à des zones nommées (expls trouvés dans Dates et Heures de Monique,Cathy et Celeda). J'ai un message d'erreur qui vient ,je pense?, du fait que je fais réference à des zones nommées et une liste de validation qui ne sont pas systématiquement remplies complètement.
la formule ;
=SOMMEPROD(((JOURSEM($J$31:$AC$31)=1)+($J$11:$AC$11=1))*($J$97:$AC$97=hornuit)*hresnuit)

détaillée: J31:AC31 ligne de dates
J11:AC11 ligne de fériés (1 si fér)
J97:AC97 ligne du planning définitif
hornuit liste de validation où l'on peut déclarer jusqu'à 12 hor
j'en ai déclaré 2 (10 cases de cette zone avec "liste de
validation" sont donc vides...
hresnuit heures comptées par formules (de 21h à 6h) donc la
aussi 10 cases, avec formules, non remplies ).

Je n'arrive pas à compressé à 50ko pour joindre le fichier même "dépouillé".

Si quelqu'un accepte l'envoi direct sur sa bal, pour mieux comprendre?

Merci pour l'aide de vous voudrez bien m'accorder
Bien amicalement
Christian
 
A

andré

Guest
Salut,

Il me semble me souvenir que la première leçon que Monique nous a apprise est que les diverses plages référenciées dans une SOMMEPROD doivent nécessairement être de tailles identiques et situées sur les mêmes lignes.

Ândré.
 
M

Monique

Guest
Bonjour,

Tu n'as pas, dans tes durées, une formule conditionnelle renvoyant "" ?
Si elle te renvoie "", tu es obligé de compliquer ta formule.
Tu fais en sorte qu'elle te renvoie 0 et ça devrait fonctionner.

Dans le fichier joint, tu as une collection :
plages des horaires et des durées verticales ou horizontales,
plages des durées comprenant des 0 ou des ""
sommeprod, sommeprod(si(, somme(si(
 

Pièces jointes

  • SommeProdChristian.zip
    3.6 KB · Affichages: 35
  • SommeProdChristian.zip
    3.6 KB · Affichages: 39
  • SommeProdChristian.zip
    3.6 KB · Affichages: 38
C

Christian

Guest
Bonjour à tout le forum,
bonjour Monique,


Monique merci pour ton exemple, toutefois lorsque l'on ne déclare pas en ligne 11 de férié (1) ça compte quand même des heures?.

Peux-tu à nouveau m'éclairer...

à+
Bon dimanche à tous
Christian
 
M

Monique

Guest
Bonjour,

Dans ce fichier, la formule en E2
=SOMMEPROD(((JOURSEM($B$14:$U$14)=1)+($B$11:$U$11=1))*($B$16:$U$16=HorNuit)*HresNuit)
est identique à la formule de ton message :
=SOMMEPROD(((JOURSEM($J$31:$AC$31)=1)+($J$11:$AC$11=1))*($J$97:$AC$97=HorNuit)*HresNuit)
Mais je viens de m'apercevoir qu'elle compte en double les fériés qui tombent un dimanche, ce n'est probablement pas ton but (quoique...)
Les autres formules du fichier ne sont pas bonnes non plus.

Tu veux quoi, au juste, comme résultat ?
Les dimanches seulement ? Les fériés seulement à condition qu'ils ne tombent pas un dimanche ? Autre chose ?
Est-ce que tu as des formules conditionnelles renvoyant "" dans tes plages de durée ?
Si oui, est-ce que tu les as modifiées pour qu'elles renvoient 0 ?
Il manque LE renseignement dans ton message de ce matin :
tu dis le résultat que tu obtiens en effaçant les 1 de la ligne des fériés, mais tu ne dis pas ce que tu voudrais obtenir.

Dans SommeProd, le + équivaut au OU des formules conditionnelles, et le * correspond au ET.
=SOMMEPROD(((jour = dimanche) OU (jour = férié)) ET (horaires = HorNuit) * HresNuit )
Que ce soit un dimanche ou un férié, la formule compte les heures, mais elle compte 2 fois les fériés tombant un dimanche

Tu peux mettre une condition au férié : que ce soit un férié tombant en semaine
=SOMMEPROD(((JOURSEM($B$14:$U$14)=1)+(($B$11:$U$11=1)*(JOURSEM($B$14:$U$14)>1)))*($B$16:$U$16=HorNuit)*HresNuit)
=SOMMEPROD(((Jour = dimanche) OU (((Jour = férié) ET (Jour <> dimanche)))) ET (horaires = HorNuit)*HresNuit)
La formule compte les heures faites le dimanche et les jours fériés tombant un autre jour que le dimanche

On peut continuer comme ça pendant longtemps, mais il faut que l'on sache à quoi tu veux arriver.
 
C

Christian

Guest
Bonjour à tout le forum,
Bonjour Monique,

Merci pour tes explications.
Je n'ai pas de format conditionnel et mes formules répondent toutes à "0".
Voici les différents "types de fériés" auquels je fais référence :
en ligne 7 de J7:AC7 fériés semaine
en ligne 8 de J8:AC8 fériés dimanche
en ligne 9 de J9:AC9 veilles fériés dimanche
en ligne 10 de J10:AC10 fériés samedi
en ligne 11 de J11:AC11 veilles fériés semaine.

Peux-tu me guider dans les formules appropriées (je ne comprends pas le =1 qui donne dimanche sur la ligne référence calendrier)

Merci pour tout Monique

à+
Christian
 
M

Monique

Guest
Re,

Dans Excel, les jours de la semaine ont un n° de 1 à 7, 1 pour dimanche et 7 pour samedi
=JOURSEM(AUJOURDHUI()) renvoie 1 (on est dimanche)
Demain lundi =JOURSEM(AUJOURDHUI()+1) renvoie 2
Le 1er janvier tombait un jeudi, jour n° 4 =JOURSEM(DATE(2004;1;1)) renvoie 4

On peut aussi utiliser JOURSEM(A1;2) qui donne 1 pour lundi, 2 pour mardi, etc et 7 pour dimanche
JOURSEM(A1;3) existe aussi, la semaine démarre à 0 pour le lundi et se termine à 6 pour le dimanche.

Sinon, je ne sais toujours pas ce que tu veux compter.
Tu comptes le nombre de fériés-dimanches travaillés
ou le nombre d'heures travaillées les fériés-dimanches
ou bien le nb d'heures payées au tarif de nuit ?
Idem pour les veilles de fériés-semaine, etc.
Si tu comptes les heures fériées travaillées ou payées,
il te faut une plage d'heures avant minuit, une autre après minuit

En attendant :
Le nombre de fériés travaillés de nuit en semaine :
=SOMMEPROD(($J$7:$AC$7=1)*(HorNuit<>"")*($J$16:$AC$16=HorNuit))
Le nombre d'heures fériées travaillées de nuit en semaine :
=SOMMEPROD(($J$7:$AC$7=1)*(HorNuit<>"")*($J$16:$AC$16=HorNuit)*HresNuit)
Mais si l'on travaille de nuit un jeudi soir férié, si on commence à 21 heures, on ne travaille que 3 heures fériées.
Dans ce cas, la formule n'est pas bonne, c'est là qu'il faut une plage d'heures "AvantMinuit" et une "AprèsMinuit"
 
C

Christian

Guest
Bonjour à tout le forum,
Bonjour Monique

Merci pour ta réponse, je comprends de mieux en mieux...
Ce que je souhaite compter ; les heures payées de nuit et j'ai bien, grâce à une formule trouver dans ton fichier (dates et Heures), deux plages d'heures (AvantMinuit et ApresMinuit).

à+
Bien amicalement
Christian
 
M

Monique

Guest
Bonjour,

Tu as des formules pour calculer tes heures de nuit, de nuit et fériées, avant minuit, après minuit, etc
Mais je ne comprends pas pourquoi tu dois faire la distinction entre les fériés qui tombent un dimanche, ceux qui tombent un samedi et les autres.
Je pense que l'on pourrait regrouper, simplifier : dimanche ou jour férié, et la veille des DJF (c'est fait, dans ton fichier)
 

Pièces jointes

  • SommeProdChristianV2.zip
    8.5 KB · Affichages: 43
C

Christian

Guest
Bonjour à tout le forum,
bonjour Monique,

Merci, merci et encore merci Monique, j'ai tout compris...
Ton fichier joint est une petite mine d'or pour le forum...

Merci également à Jean-Marie

à +

Christian
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…