Calculer le nombre de dimanches du mois

8

Dans Microsoft Excel, je cherche à déterminer le nombre de dimanches dans un mois donné. Je prépare une feuille de calcul budgétaire et certains des sous-comptes reçoivent un financement supplémentaire lorsque cinq dimanches sont dans le mois au lieu de quatre.

La seule cellule à laquelle je dois faire référence est le titre de la feuille qui se trouve dans la cellule A1 et est égal au mois en cours. Par exemple6/1/14

wbeard52
la source

Réponses:

12

Essayez ceci où A1est le jour de début du mois:

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))),"ddd")="Sun"))

Vous pouvez également l'utiliser pour n'importe quel jour de la semaine simplement changer "Sun"et n'importe quelle plage de dates en remplaçant A1par la date de début et la date EOMONTH(A1,0)de fin.

Jay-ar
la source
1
Sensationnel. C'est vraiment créatif. Laisse-moi comprendre. Nous créons les valeurs de date pour tout le mois avec les fonctions indirecte et ligne? Nous les convertissons ensuite en texte sous la forme de Sun, Mon, etc. Nous évaluons la condition de Sun et changeons le résultat en un ou zéro, puis additionnons le résultat. Est-ce exact?
wbeard52
yup exactement .. :)
Jay-ar
9

Si la date que vous mentionnez est toujours la première du mois, celle-ci fonctionnera également:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)
teylyn
la source
Facile. Très élégant par rapport à ma formule ci-dessus. Merci.
wbeard52
3

Très similaire à une réponse précédente, mais juste un peu plus propre ...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))
user743733
la source
3
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

EDIT: Cela fonctionne dans Excel 2016, je ne sais pas quand NETWORKDAYS.INTL a été introduit.

SRCP
la source
Qu'est-ce que Networkdays.Intl, cela ne fonctionne pas avec tous les excel
yass
Ah, tu as raison. Je n'ai pas vu qu'il faisait référence à Excel 2010. J'ai 2016. Contrairement à networkdays, Networkdays.intl vous permet de choisir les week-ends. Dans ce cas, j'ai dit à Excel que le week-end est le dimanche uniquement, c'est ce que représente le 11. Il vous donne donc le nombre de jours dans une période sans compter les dimanches.
SRCP
NETWORKDAYS.INTLest disponible depuis Excel 2010 . Vous pouvez voir le numéro 2010 à côté de son nom. voir la capture d'écran de celui-ci fonctionnant dans Excel 2010
phuclv
1

Je crois que j'ai trouvé encore une autre façon d'écorcher ce chat (pour ainsi dire).

Si vous voulez éviter de saisir des dates et avoir une grande feuille de projection (18 mois par exemple), vous pouvez simplement indiquer la formule quels sont votre mois et votre année et la mettre en forme en conséquence. Cela rejoint une référence absolue à un en-tête de cellules qui contient le jour de la semaine en question et vous avez une table beaucoup plus compacte et plus propre (à mon avis).

A3 = Jan, B3 = 2017, C2: I2 = 3 Abréviation du jour char (c.-à-d. SUN)

Entrez la formule dans la cellule C3

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy"))&":"&EOMONTH(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy")),0))),"ddd")=C$2))

Bonne chasse

Jeremy Cast
la source
1

Une légère variation de la réponse acceptée , où vous n'avez pas besoin du premier jour du mois A1.

Ceci est réalisé en remplaçant A1par:

date(year(today()),month(today()),1)

Cela suppose que vous le souhaitez pour le mois en cours.

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(date(year(today()),month(today()),1)&":"&EOMONTH(date(year(today()),month(today()),1),0))),"ddd")="Sun"))
CalvT
la source