Wie kann ich das Jahresquartal von einem Datum erhalten?

8

Wie kann ich in Excel das Jahresquartal anhand einer Arbeitsblattformel aus einem Datum ermitteln? Ich habe eine Spalte mit Daten, die mehrere Jahre umfassen.

  • 01. Januar bis 31. März = Q1
  • 01. April bis 30. Juni = Q2
  • usw...

Bonusfrage: Wie kann ich das Quartal so verschieben, dass Q1 von April bis Juni ist (Jan-Mar wäre Q4)?

mtone
quelle

Antworten:

7

Abhängig davon, wie Sie Ihren Datumswert formatiert haben, kann Excel ihn automatisch in den "Datumscode" umwandeln. Dies ist die Anzahl der Tage seit dem 1. Januar 1900 (Datumscode 1). Diese Nummer wird dann von den verschiedenen Datumsfunktionen verwendet. Hier ist eine vorgeschlagene Formel für die einfache Viertelanalyse.

= ROUNDUP (MONAT (A1) / 3,0)

Dies gibt Ihnen nur die Viertelnummer. Sie können dann CONCATENATE verwenden, um Text hinzuzufügen.

Hier ist ein großartiges Tutorial mit vielen Beispielen:

http://www.cpearson.com/excel/DateTimeWS.htm

[BEARBEITEN]

Wie von @hyperslug angegeben, ist es besser, Folgendes zu verwenden:

= CONCATENATE ("Q", ROUNDUP (MONAT (DATUM (JAHR (A1), MONAT (A1) -3, TAG (A1))) / 3,0))

Diese Methode verschiebt das Datum vorwärts oder rückwärts, bevor ein Monatswert vor dem Teilen durch 3 erhalten wird. Sie können den Monat, in dem das Quartal beginnt, steuern, indem Sie den Abschnitt "Monat (A1) -3" ändern.

  • Startdatum Januar Verwendung: "Monat (A1)"
  • Startdatum der Verwendung im April: "Monat (A1) -3"
  • Startdatum der September-Nutzung: "Monat (A1) +4"

Addition und Subtraktion können beide verwendet werden. Es ist nicht intuitiv, aber durch Subtraktion wird das Startquartal vorwärts verschoben (-1 ist Februar) und durch Addition rückwärts verschoben (+1 ist Dezember).

[/BEARBEITEN]


[BEARBEITEN] Hinweis: Diese Methode funktioniert, ist jedoch nicht so elegant wie die obige Methode.

Nach einigem Herumspielen habe ich einen Weg gefunden, Ihre Bonusfrage zu beantworten. Sie können IF-Anweisungen verwenden, um einen Wert (text / int) basierend auf dem Monat zurückzugeben. Sie müssen nur herausfinden, welche Monate mit welchem ​​Quartal verbunden sind.

= WENN (UND (MONAT (A1)> = 4, MONAT (A1) <7), "Q1", WENN (UND (MONAT (A1)> = 7, MONAT (A1) <10), "Q2", WENN (UND (MONAT (A1)> = 10), "Q3", WENN (UND (MONAT (A1)> = 1, MONAT (A1) <4), "Q4")))

Es ist eine dichte Gleichung, die eine Kombination der Funktionen "IF", "AND" und "MONTH" verwendet. Durch Ändern der Monatswerte (innerhalb der AND-Anweisungen) können Sie weiter steuern, welcher Wert zurückgegeben wird. Ich habe Textzeichenfolgen verwendet, aber Sie können sie leicht an Ihre Bedürfnisse anpassen.

[/BEARBEITEN]

Hoffe das hilft

Doltknuckle
quelle
Vielen Dank - sofort nutzen!
mtone
1
Oder=CONCATENATE("Q",ROUNDUP(MONTH(DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)))/3,0))
Hyperslug
Whoa @hyperslug, das ist ein viel besserer Weg, es zu tun. Um den Startmonat des 1. Quartals zu ändern, müssen Sie lediglich die erste Datenberechnung "Monat (A1) -3" addieren oder von dieser subtrahieren. Ich bin es zu gewohnt, mit IF / TEN-Anweisungen zu arbeiten.
Doltknuckle
2

Bonusantwort:

=MOD(INT((MONTH(A1)-1)/3)-1,4)+1
Toc
quelle
1

Dies sollte effizienter sein:

=CONCATENATE("Q", INT(MONTH(A1)/4) + 1)
David
quelle
2
Effizienter als was? Warum machen Sie diese Behauptung?
Ƭᴇcʜιᴇ007
Es gibt weniger Berechnungen (Datumskonvertierung usw.), die Anzahl der Parameter wird auf dem Mindestniveau gehalten und sie ist kürzer. Obwohl ich INT anstelle von FLOOR verwenden sollte. Ich werde es zuerst testen.
David
es funktioniert, ich habe die Antwort aktualisiert.
David
0

Die folgende Formel sollte funktionieren:

=IF(OR(MONTH(A1)=1,MONTH(A1)=2,MONTH(A1)=3),"Q1",IF(OR(MONTH(A1)=4,MONTH(A1)=5,MONTH(A1)=6),"Q2",IF(OR(MONTH(A1)=7,MONTH(A1)=8,MONTH(A1)=9),"Q3",IF(OR(MONTH(A1)=10,MONTH(A1)=11,MONTH(A1)=12),"Q4",""))))

Viel Glück.

Titty George
quelle