Berechnen Sie die Anzahl der Sonntage im Monat

8

In Microsoft Excel möchte ich die Anzahl der Sonntage in einem bestimmten Monat ermitteln. Ich stelle eine Budget-Tabelle zusammen und einige der Unterkonten erhalten zusätzliche Mittel, wenn fünf Sonntage im Monat statt vier sind.

Die einzige Zelle, auf die ich verweisen muss, ist der Titel des Blattes, das sich in Zelle A1 befindet und dem aktuellen Monat entspricht. Zum Beispiel6/1/14

wbeard52
quelle

Antworten:

12

Versuchen Sie dies, wo A1der Starttag des Monats ist:

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

Sie können dies auch für jeden Wochentag verwenden, der sich nur ändert, "Sun"und für jeden Datumsbereich, indem Sie ihn durch das A1Startdatum und das EOMONTH(A1,0)Enddatum ersetzen .

Jay-ar
quelle
1
Beeindruckend. Das ist wirklich kreativ. Lass mich verstehen. Wir erstellen die Datumswerte für den gesamten Monat mit den indirekten und Zeilenfunktionen? Wir konvertieren sie dann in Text in Form von Sonne, Mo usw. Wir bewerten den Zustand der Sonne und ändern das Ergebnis in eine Eins oder eine Null und summieren dann das Ergebnis. Ist das korrekt?
wbeard52
yup genau .. :)
Jay-ar
9

Wenn das von Ihnen erwähnte Datum immer das erste des Monats ist, funktioniert dieses auch:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)
teylyn
quelle
Einfach. Sehr elegant im Vergleich zu meiner obigen Formel. Vielen Dank.
wbeard52
3

Sehr ähnlich zu einer vorherigen Antwort, aber nur ein bisschen sauberer ...

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

BEARBEITEN: Dies funktioniert in Excel 2016, nicht sicher, wann NETWORKDAYS.INTL eingeführt wurde.

SRCP
quelle
Was ist Networkdays.Intl es funktioniert nicht mit allen Excel
yass
Ah, du hast recht. Ich habe nicht gesehen, dass er sich auf Excel 2010 bezieht. Ich habe 2016. Im Gegensatz zu Netzwerktagen können Sie mit Networkdays.intl die Wochenenden auswählen. In diesem Fall habe ich Excel gesagt, dass das Wochenende nur Sonntag ist, dafür steht die 11. Sie erhalten also die Anzahl der Tage in einem Zeitraum ohne Sonntage.
SRCP
NETWORKDAYS.INTList seit Excel 2010 verfügbar . Sie können die Nummer 2010 neben dem Namen sehen. siehe Screenshot davon funktioniert in Excel 2010
phuclv
1

Ich glaube, ich habe noch einen anderen Weg gefunden, diese Katze zu häuten (sozusagen).

Wenn Sie die Eingabe von Datumsangaben vermeiden möchten und ein großes Blatt für die Projektion haben (z. B. 18 Monate), können Sie stattdessen einfach die Formel für Ihren Monat und Ihr Jahr angeben und diese entsprechend formatieren lassen. Dies ging einher mit einem absoluten Verweis auf eine Kopfzelle, die den fraglichen Wochentag enthält, und Sie haben eine viel kompaktere und sauberere Tabelle (meiner Meinung nach).

A3 = Jan, B3 = 2017, C2: I2 = 3 Char Day Abkürzung (dh SUN)

Geben Sie die Formel in Zelle C3 ein

=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))

Fröhliches Jagen

Jeremy Cast
quelle
1

Eine geringfügige Abweichung von der akzeptierten Antwort , bei der Sie den ersten Tag des Monats in nicht benötigen A1.

Dies wird erreicht durch Ersetzen A1durch:

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

Dies setzt voraus, dass Sie es für den aktuellen Monat möchten.

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