Excel - Füllen Sie eine Zeile automatisch mit einem Datumsbereich aus, der einem bestimmten Muster entspricht

Excel - Füllen Sie eine Zeile automatisch mit einem Datumsbereich aus, der einem bestimmten Muster entspricht

Bei einem bestimmten Startdatum (sagen wir beispielsweise 11. Januar 2012) möchte ich in Excel automatisch eine Zeile mit einem Datumsbereich ausfüllen, der für die Tage dem folgenden Muster entspricht (zweimonatlicher Zahlungszeitraum).

1. 11th - 25th
2. 26th - 10th

Natürlich mit tatsächlichen Daten in jeder Zelle, einschließlich Monat und Jahr (nicht einfach die beiden oben genannten Werte wiederholen). Was ich suche, ist eine Möglichkeit, ein oder zwei bestimmte Datumsbereiche einzugeben, beispielsweise:

January 11th, 2012 - January 25th, 2012
January 26th, 2012 - February 10th, 2012

Und lassen Sie Excel automatisch viele weitere Zellen nach dem gleichen Muster ausfüllen:

January 11th, 2012 - January 25th, 2012
January 26th, 2012 - February 10th, 2012
February 11th, 2012 - February 25th, 2012
....
December 11th, 2012 - December 25th, 2012

Wie kann ich das machen?

Antwort1

Formatieren Sie Ihre Spalten in das von Ihnen bevorzugte Datumsformat. Geben Sie das Datum 11.01.2012 in Zelle A1 und das Datum 25.01.2012 in Zelle B2 ein. Kopieren Sie den folgenden Code in Zelle A2;

=DATE(YEAR(B1),MONTH(B1), DAY(B1)+1)

und kopiere dies in B2;

=IF(DAY(B1)=10, DATE(YEAR(B1), MONTH(B1), DAY(25)), DATE(YEAR(B1),MONTH(B1)+1, DAY(10)))

Markieren Sie A2 und B2, um sie so weit nach unten zu ziehen, wie Sie möchten.

Sollte so aussehen, wenn es fertig ist;

Bildschirmfoto

Antwort2

Hier ist eine Lösung mit einer einzelnen Zeile. Achtung, es handelt sich um eine riesige Formel, die eine separate Nachschlagetabelle erfordert.

Irgendwo in Ihrer Arbeitsmappe müssen Sie die folgende Tabelle erstellen:

0   January
1   February
2   March
3   April
4   May
5   June
6   July
7   August
8   September
9   October
10  November
11  December

In meinem Beispiel befindet sich diese Tabelle bei I1:J12, also passen Sie Ihre Formel entsprechend an. Geben Sie in A1 ein:

=VLOOKUP(MOD(ROUNDDOWN((ROW()-0.5)/2,0),12),$I$1:$J$12,2,FALSE) & IF(ISODD(ROW())," 11th, "," 26th, ") & 2012 + INT((ROW()-0.5)/24) & " - " & VLOOKUP(MOD(ROUNDDOWN(ROW()/2,0),12),$I$1:$J$12,2, FALSE) & IF(ISODD(ROW())," 25th, "," 10th, ") & 2012 + INT(ROW()/24)

Zur Vereinfachung finden Sie hier die nach Teilen aufgeschlüsselte Formel:

=VLOOKUP(MOD(ROUNDDOWN((ROW()-0.5)/2,0),12),$I$1:$J$12,2,FALSE) & 
 IF(ISODD(ROW())," 11th, "," 26th, ") &
 2012 + INT((ROW()-0.5)/24) &
 " - " &
 VLOOKUP(MOD(ROUNDDOWN(ROW()/2,0),12),$I$1:$J$12,2, FALSE) &
 IF(ISODD(ROW())," 25th, "," 10th, ") &
 2012 + INT(ROW()/24)

Antwort3

Keine Formelmethode

  1. Geben Sie einA1: 11/1/2012
    Geben Sie einA2: 11/2/2012
    MarkierenA1:A2, nach unten ausfüllen (durch Ziehen mit der Maus), beispielsweise bisA12( 11/12/2012)

  2. Geben Sie einA13: 26/1/2012
    Geben Sie einA14: 26/2/2012
    MarkierenA13:A14, nach unten ausfüllen (durch Ziehen mit der Maus), beispielsweise bisB24( 26/12/2012)

  3. Spalte sortierenADies wäre das Startdatum der Periode

  4. (a) Wiederholen Sie dies für die SpalteBDies wäre das Enddatum des Zeitraums (jeden 25. und 10.)
    ODER
    (b) Setzen Sie das nächste Startdatum - 1 als Enddatum, d.h. geben Sie inB1: =A2-1, dann nach unten kopieren nachB2:B23

  5. Spalte formatierenA:Bnach Wunsch im Zellenformat (Strg-1), zum Beispielmmmm dd, yyyy


Bonus

So zeigen Sie das Start- und Enddatum in einer einzelnen, durch Bindestrich getrennten Zelle an:

  1. Geben Sie einC1: =TEXT(A1,"mmmm dd, yyyy") & " - " & TEXT(B1, "mmmm dd, yyyy")
    Es würde Ihnen so etwas geben wieJanuary 11, 2012 - January 25, 2012

  2. Kopieren nach untenC2:C24

verwandte Informationen