XL 2016 Somme selon des critères par ligne

Rabeto

XLDnaute Occasionnel
Bonjour,

Je souhaite trouver la somme des valeurs de la colonne Durée pour chaque ligne, pour chaque mois.
Avec un seul critère, j'arrive à le trouver avec la formule =somme.si(....) mais au delà de 2 critères ça me donne toujours erreur.
 

Pièces jointes

  • Somme.xlsx
    12.3 KB · Affichages: 8
Solution
Bonjour à tous,

Un exemple avec la fonction "decaler" mais cela est peut-être plus difficile à comprendre.
VB:
=SOMMEPROD(--((MOIS(DECALER($D$3;-1;1;;$C$1))=MOIS(1&B$3))*ESTNUM(DECALER($D4;;4;;$C$1)));DECALER($D4;;4;;$C$1))

JHA

JHA

XLDnaute Barbatruc
Bonjour à tous,

La formule pour calculer la fin de période est à revoir.
Manque aussi les durées pour CM CP, etc..
A essayer
VB:
=SOMMEPROD(($E$1:$Y$1=B$3)*(ESTNUM($H4:$AB4));$H4:$AB4)

JHA
 

Pièces jointes

  • Somme.xlsx
    13.6 KB · Affichages: 5

vgendron

XLDnaute Barbatruc
Bonjour

Un essai par macro
note: Dans ton fichier, les deux derniers jours de septembre sont notés "Octobre" ==> Erreur: la formule n'était pas recopiée

pour l'exemple, j'ai corrigé et ajouté un jour en octobre
en B3 et C3: j'ai changé le contenu pour avoir une date et modifié le format pour toujours afficher le mois complet
 

Pièces jointes

  • Somme.xlsm
    22.9 KB · Affichages: 3

Rabeto

XLDnaute Occasionnel
Merci à tous,

La réponse de JHA semble être la clé, mais j'essai de trouver les explications de la formule car je ne comprends pas beaucoup,
Si j'étends la selection, ça me donne erreur. (Pourquoi la sélection du mois s'arrête sur la colonne Y ?)

@natorp : trouver la somme des heures dans chaque colonne Durée pour chaque ligne, pour chaque mois.
Donc les critères sont : le mois, critères Durée
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un exemple avec la fonction "decaler" mais cela est peut-être plus difficile à comprendre.
VB:
=SOMMEPROD(--((MOIS(DECALER($D$3;-1;1;;$C$1))=MOIS(1&B$3))*ESTNUM(DECALER($D4;;4;;$C$1)));DECALER($D4;;4;;$C$1))

JHA
 

Pièces jointes

  • Somme ter.xlsx
    16 KB · Affichages: 8

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Rabeto, natorp, JHA, vgendron,

Principalement pour saluer mes camarades de jeu :)

Et accessoirement proposer une formule plus courte a mettre en B4 du fichier exemple de JHA et a étirer vers le la droite et le bas

VB:
=SOMMEPROD(($E$1:$AO$1=B$3)*(ESTNUM(H4:AR4));H4:AR4)

Cordialement
 

Rabeto

XLDnaute Occasionnel
Bonjour à tous,

Un exemple avec la fonction "decaler" mais cela est peut-être plus difficile à comprendre.
VB:
=SOMMEPROD(--((MOIS(DECALER($D$3;-1;1;;$C$1))=MOIS(1&B$3))*ESTNUM(DECALER($D4;;4;;$C$1)));DECALER($D4;;4;;$C$1))

JHA
Bonjour JHA,

Avec la même formule, peut on faire le calcule de la semaine,
J'ai pris la formule et a changé le mois en No.semaine mais ça marche pas, y a t-il un autre moyen pour la semaine svp,

J'ai fais comme ceci : en remplaçant le mois par un numéro de semaine.
=SOMMEPROD(--(No.semaine(DECALER($D$3;-1;1;;$C$1))=No.semaine(1&B$3))*ESTNUM(DECALER($D4;;4;;$C$1)));DECALER($D4;;4;;$C$1))
 

Rabeto

XLDnaute Occasionnel
Oui,
C'est bien cela, j'ai aussi trouvé la réponse en sollicitant un peu mes neurones, :)

Petite remarque, avec No.semaine.iso on ne peut pas avoir le résultat exact pour chaque numéro de semaine de chaque date.
Ex : 1 Septembre : le numéro de semaine exact est 36 mais avec No.semaine.iso on a 35, il faut donc ajouté +1 à la formule No.semaine.iso.

La Formule exacte : (en B3
le numéro de semaine avec la formule No.semaine)
=SOMMEPROD(--(No.semaine.iso(DECALER($D$3;-1;1;;$C$1))+1=(B$3))*ESTNUM(DECALER($D4;;4;;$C$1)));DECALER($D4;;4;;$C$1))
 

Discussions similaires