
Ich versuche, bestimmte Daten aus der Woche vom 1. bis zum letzten Tag des Monats zu haben, wenn ich beispielsweise einen Monat in eine Zelle eingebe:
Wenn Zelle „I6“ „März“ oder einen beliebigen Monat enthält:
" MARCH "
Dann:
- Zelle „F10“ = 1-Mar für-Sonne(erster Sonntag im Monat)
- Zelle „F11“ = 5. März für Donnerstag (erster Donnerstag im Monat)
- Zelle „F12“ = 8-März für -Sonne(zweiter Sonntag im Monat usw.)
- Zelle „F13“ =12-Mar für -Thur
Ist das möglich? Ich habe auf verschiedenen Websites gesucht, aber ohne Erfolg. Vielen Dank.
Antwort1
Sie können auch Folgendes verwenden:
Wie es funktioniert:
- Geben Sie in Zelle
K23
1 das 1. Datum des Monats ein (so wie ich es verwendet habe02/01/2020
, das Format istMM/DD/YYYY
). MMM YY
Auf die Zelle anwenden .- Formel in Zelle
K25
:
=K$23+MOD(7-WEEKDAY(K$23,2),7)
- Als nächstes die Formel in Zelle
K26
:
=K$23+MOD(4-WEEKDAY(K$23,2),7)
Hinweis:In der obigen Formel steht 7
& 4
für Sonntag und Donnerstag und Sie können es nach Bedarf bearbeiten.
Endgültige Formel in Zelle
K27
und ausfüllen:=IFERROR(IF(AND(MONTH(K26)=MONTH(K$23),COUNT(J$25:J25)=7),"",K25+7),"")
Geben Sie nun diese Formel in die Zelle ein
J25
und füllen Sie sie aus.
=IF(ISBLANK(K25),"",K25)
Bearbeitet:
OP hat einen guten Punkt angesprochen, nämlich wie man Termine verwaltet, falls und wannSSonntag &TDonnerstag sind mehr als 8 (wie im Mai, August sind Sonntage 5 und Donnerstage 4).
Geben Sie diese Formel in die Zelle ein
L25
:=SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Sun"))+SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Thu"))
Achtung Dies gilt für Sonntage und Donnerstage, wobei Sun
und Thu
bearbeitet werden können.
- Formel in
K27
:
=K$25+MOD(7-WEEKDAY(K$25,2),7)
- Formel in Zelle
k28
:
=K$25+MOD(4-WEEKDAY(K$25,2),7)
Geben Sie die Formel in die Zelle ein
K29
:=IFERROR(IF(AND(MONTH(K28)=MONTH(K$25),COUNT(J$27:J27)>=(L$25-1)),"",K27+7),"")
Achtung
- Die Verwendung der Monatsprüfung und Zeilenanzahl mit der Formel in Zelle
K27
&K29
schränkt Excel ein, nur Daten für alle Sonntage und Donnerstage zu erstellen. - Ändern Sie nun Datum und Jahr in der Zelle
K23
oderK25
nach Bedarf. - Passen Sie die Zellbezüge in der Formel nach Bedarf an.
Antwort2
Sie können dieses Problem also in zwei Teile aufteilen:
Bedingte Formatierung
Sie wollen:
cell "F10" = 1-Mar for- Sun (first Sunday of the month)
basierend A6
aufMARCH
Daher können Sie in der Zelle F10
=IFERROR(IF(FIND("MARCH",A6)<>0,"contains March","Does not contain march","")
=Find("MARCH",A6)
wird einen Fehler ausgeben, wenn „MARCH“ nicht gefunden werden kann. Deshalb verwenden wir das =IFERROR()
. Wenn kein Fehler auftritt, bedeutet dies, dass es erfolgreich gefunden wurde. Anschließend können Sie die gewünschte Logik anwenden.
Erster Sonntag im Monat
Um den ersten Sonntag eines Monats zu finden, können Sie diese Formel verwenden:
'=(A4+WÄHLEN(WOCHENTAG(A4,1),7,6,5,4,3,2,1))'
wobei A4 in meinem Fall das Datum ist, auf das verwiesen wird, dann wird der nächste Sonntag gefunden. Wenn Sie diese Methode in die erste einfügen, sollten Sie das gewünschte Ergebnis erhalten.
Für die Zellen A11, A12 und A13 können Sie genau dieselbe Methode anwenden.
Antwort3
Versuchen:
F10: =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1)
F11: =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5)
F12: =F10+7
Auswählen F12
und so weit wie nötig ausfüllen
G10: =F10
Benutzerdefiniertes Format G10
:"dddd"
Auswählen G10
und so weit wie nötig ausfüllen
NOTIZ:In manchen Monaten liegt der erste Donnerstag vor dem ersten Sonntag. Wenn Sie lieber mit dem früheren der beiden Termine beginnen und dann die Reihenfolge fortsetzen möchten, verwenden Sie diese Formeln:
F10:=MIN(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))
F11: =MAX(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))