Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Trotz vieler inzwischen auch frei verfügbaren Kalender-Applikationen ist man oft darauf angewiesen, eigene Tabellen aufzubauen, die es erlauben, mit variablen Kalenderdaten zu arbeiten.

1. Feiertage ermitteln

Editieren

Aus dem aktuellen Jahr und dem Ostersonntag, für den Calc eine Funktion zur Verfügung stellt, lassen sich alle weiteren Feiertage ermitteln. Im Beispiel erhalten die Zellen B2 und B3 einen Namen, der in den weiteren Formeln anstelle der Zelladresse verwendet wird.

1.1. Formeln für die wichtigsten Feiertage

A

B

C

1

Feiertag

Formel

Zellname

2

Aktuelles Jahr

2005
Alternativ: =JAHR(HEUTE())

AktuellesJahr

3

Ostersonntag

=OSTERSONNTAG(AktuellesJahr)

Ostern

4

5

Neujahr

=DATUM(AktuellesJahr;1;1)

6

Karfreitag

=Ostern-2

7

Ostersonntag

=Ostern

8

Ostermontag

=Ostern+1

9

Tag der Arbeit

=DATUM(AktuellesJahr;5;1)

10

Christi Himmelfahrt

=Ostern+39

11

Pfingstmontag

=Ostern+50

12

Fronleichnam

=Ostern+60

13

Mariä Himmelfahrt

=DATUM(AktuellesJahr;8;15)

14

Tag der deutschen Einheit

=DATUM(AktuellesJahr;10;3)

15

Allerheiligen

=DATUM(AktuellesJahr;11;1)

16

Weihnachten (1. Weihnachtsfeiertag)

=DATUM(AktuellesJahr;12;25)

17

Stephanstag (2. Weihnachtsfeiertag)

=DATUM(AktuellesJahr;12;26)

1.2. Der vierte Advent und der davon abgeleitete Buß- und Bettag

Bei der Berechnung des vierten Advents (diesen benötigt man auch für die Errechnung des Buß- und Bettages) haben wir das Problem, dass dieser nicht auf ein fixes Datum fällt, sondern per Definition auf den letzten Sonntag vor dem 25. Dezember, d.h. Jedes Jahr ein anderes Datum hat.

Was wissen wir von diesem Datum?

Fällt der 25. Dezember auf einen Montag, dann führt ((25. Dezember) – 1) zum vierten Advent.
Fällt der 25. Dezember auf einen Dienstag, dann führt ((25. Dezember) – 2) zum vierten Advent.
Fällt der 25. Dezember auf einen Mittwoch, dann führt ((25. Dezember) – 3) zum vierten Advent.
Fällt der 25. Dezember auf einen Donnerstag, dann führt ((25. Dezember) – 4) zum vierten Advent.
Fällt der 25. Dezember auf einen Freitag, dann führt ((25. Dezember) – 5) zum vierten Advent.
Fällt der 25. Dezember auf einen Samstag, dann führt ((25. Dezember) – 6) zum vierten Advent.
Fällt der 25. Dezember auf einen Sonntag, dann führt ((25. Dezember) – 7) zum vierten Advent.

Wir müssen also wissen, auf welchen Wochentag der 25. Dezember fällt. Die Funktion WOCHENTAG() liefert uns zu jedem Datum eine fortlaufende Nummer von 1 bis 7. Jetzt müssen wir nur noch wissen, zu welchem Wochentag die Wochentagsnummer 1 gehört.

Das können wir selbst bestimmen. Benutzen wir die Funktion mit den Standardwerten, also so:

=WOCHENTAG(Datum)

dann ist der erste Tag in der Woche ein Sonntag. Benutzen wir jedoch den zweiten Parameter der Formel:

=WOCHENTAG(Datum;2)

dann beginnt die Zählung am Montag, was uns das Leben sehr erleichtert. Denn wir wissen aus obiger Auflistung, dass wir am Montag - 1 rechnen müssen, am Dienstag - 2, usw.

Der vierte Advent ist also:

=25. Dezember – WOCHENTAG(25. Dezember;2)

Gehen wir davon aus, dass die Daten für das aktuelle Jahr berechnet werden sollen, so steht für den 25. Dezember:

=DATUM(JAHR(HEUTE());12;25)

Soll das Jahr flexibel sein, kann man es beispielsweise auch in einer Zelle oder einem Namen hinterlegen, dann könnte die Formel für den 25. Dezember so lauten:

=DATUM(Kalenderjahr;12;25)

Und nun heißt die Formel für den vierten Advent:

=DATUM(KalenderJahr;12;25)-WOCHENTAG(DATUM(KalenderJahr;12;25);2)

Für den dritten Advent werden zusätzliche 7 Tage abgezogen, für den zweiten 14 und für den ersten Advent 21 Tage:

=DATUM(KalenderJahr;12;25)-WOCHENTAG(DATUM(KalenderJahr;12;25);2)-7

=DATUM(KalenderJahr;12;25)-WOCHENTAG(DATUM(KalenderJahr;12;25);2)-14

=DATUM(KalenderJahr;12;25)-WOCHENTAG(DATUM(KalenderJahr;12;25);2)-21

Für den Buß- und Bettag müssen vom vierten Advent 32 Tage abgezogen werden:

=DATUM(KalenderJahr;12;25)-WOCHENTAG(DATUM(KalenderJahr;12;25);2)-32

1.3. Immer am vierten Montag im November...

...findet der traditionsreiche Berner Zibelemärit (Zwiebelmarkt) statt. Er dient hier als Beispiel, wie man das Datum eines variablen Jahrestages ermittelt. Bereits bei der Berechnung der Adventstage im vorigen Kapitel hatten wir ein ähnliches Beispiel.

Vom vierten Montag im November wissen wir genau, dass er 3*7=21 Tage nach dem ersten Montag stattfindet. Also interessiert uns zunächst der erste Montag im November. Für den Fall, dass der erste November ein Montag ist, kennen wir das Datum:

=Datum(Kalenderjahr;11;1)

wobei Kalenderjahr z.B. für eine Zelle steht, in welcher das gesuchte Jahr hinterlegt ist. Wenn es um das aktuelle Jahr geht, könnte auch stehen:

=Datum(Kalenderjahr(HEUTE());11;1)

Wenn der erste November kein Montag ist, müssen wir das Datum für den ersten Montag erst suchen. Dazu sehen wir uns die Liste an, die wir mit der Funktion =WOCHENTAG(Datum;2) für jeden Tag der Woche erhalten:

Dienstag ergibt 2, Mittwoch 3, usw. bis zum Sonntag, der bei der obigen Variante der WOCHENTAG-Funktion 7 ergibt 1. Daraus ergibt sich folgende Regel:

Fällt der 1. November auf einen Dienstag, so müssen wir zum 1.11. 6 Tage hinzuzählen, um das Datum des ersten Montags im Novembers zu erhalten, fällt der 1.11. auf einen Mittwoch, müssen wir 5 Tage hinzuzählen, usw..

Man könnte nun eine verschachtelte WENN-Formel aufbauen, welche all diese Situationen abfragt. Schöner wäre allerdings, man fände eine Rechenformel, die für alle Nicht-Montage angewendet werden kann. Aus der nachstehenden Tabelle sehen wir, dass die Summe aus der Zahl, die wir jeweils mit der WOCHENTAG-Funktion erhalten und der Zahl, die hinzugezählt werden muss, um auf den folgenden Montag zu kommen, für alle Wochentage außer Montag 8 ergibt.

Wenn wir also vom Ergebnis 8 ausgehen, sehen wir, dass die Differenz für alle Nicht-Montage gleich berechnet werden kann:

8-WOCHENTAG(Datum(Kalenderjahr;11;1);2)

A

B

C

D

Im Fall von:

Ergibt sich als Wochentag für den 1. November:

Der erste Montag im November fällt auf:

Differenz als allgemeine Formel:

1

Montag,
1. November

=WOCHENTAG(A1;2)
1

=DATUM(Kalenderjahr;11;1)
1. November

0

2

Dienstag,
1. November

=WOCHENTAG(A2;2)
2

=DATUM(Kalenderjahr;11;1)+6
7. November

=8-WOCHENTAG(A2;2)
+6

3

Mittwoch,
1. November

=WOCHENTAG(A3;2)
3

=DATUM(Kalenderjahr;11;1)+5
6. November

=8-WOCHENTAG(A3;2)
+5

4

Donnerstag,
1. November

=WOCHENTAG(A4;2)
4

=DATUM(Kalenderjahr;11;1)+4
5. November

=8-WOCHENTAG(A4;2)
+4

5

Freitag,
1. November

=WOCHENTAG(A5;2)
5

=DATUM(Kalenderjahr;11;1)+3
4. November

=8-WOCHENTAG(A5;2)
+3

6

Samstag,
1. November

=WOCHENTAG(A6;2)
6

=DATUM(Kalenderjahr;11;1)+2
3. November

=8-WOCHENTAG(A6;2)
+2

7

Sonntag,
1. November

=WOCHENTAG(A7;2)
7

=DATUM(Kalenderjahr;11;1)+1
2. November

=8-WOCHENTAG(A7;2)
+1

Somit heißt unsere Formel für den vierten Montag im November:

=WENN(WOCHENTAG(DATUM(Kalenderjahr;11;1);2)=1;
  DATUM(Kalenderjahr;11;1)+3*7;
    DATUM(Kalenderjahr;11;1)+8-WOCHENTAG(DATUM(Kalenderjahr;11;1);2)+3*7)


KategorieCalc KategorieHowto

2. Zugriff auf bestimmte Wochentage

Editieren

3. Zu einem bestimmten Wochentag vor- bzw. zurückrechnen

Manchmal braucht man im Zusammenhang mit Datumsfunktionen eine Formel, die ausgehend von einem variablen Datum immer z.B. den nächsten (oder letzten) Donnerstag, Mittwoch oder sonst einen bestimmten Wochentag liefert.

3.1. Zum nächsten Montag (Dienstag, Mittwoch,....)

Da unser Ausgangsdatum variabel ist, müssten wir theoretisch 7 WENN-Fälle unterscheiden. Solche verschachtelten Funktionen sind aber schwierig zu dominieren und wenn die Formel auch noch dahingehend flexibel sein soll, dass sie auf verschiedene angestrebte Wochentage reagiert, wird das Ganze sehr unübersichtlich. Wir suchen daher nach einer mathematischen Lösung.

Wir haben:

  • ein unbekanntes Ausgangsdatum
  • einen fixen angestrebten Wochentag
  • einen unbekannten Ausgangs-Wochentag

Nun wissen wir, dass wir mit einer mathematischen Gleichung nur eine Unbekannte ermitteln können. Wir müssen also versuchen, in dieser Liste eine Unbekannte wegzubekommen. Das Ausgangsdatum ist per Definition variabel, also die Unbekannte, die uns in jedem Fall bleibt. Was aber ist mit dem Ausgangs-Wochentag? Kann man den zu einer bekannten Größe machen?
Man kann:

A

B

C

Indem wir von einem Datum den zugehörigen Wochentag abziehen, kommen wir immer zum letzten Samstag.2
Damit haben wir einen fixen Wochentag, von dem aus man nun durch Addition eines fixen Wertes zum gewünschten Wochentag kommen kann.

1

Startdatum

Der letzte Samstag

Formel in Spalte B

2

Mi 20.Dez 06

Sa 16.Dez 06

=A2-WOCHENTAG(A2)

3

Do 21.Dez 06

Sa 16.Dez 06

=A3-WOCHENTAG(A3)

4

Fr 22.Dez 06

Sa 16.Dez 06

=A4-WOCHENTAG(A4)

5

Sa 23.Dez 06

Sa 16.Dez 06

=A5-WOCHENTAG(A5)

6

So 24.Dez 06

Sa 23.Dez 06

=A6-WOCHENTAG(A6)

7

Mo 25.Dez 06

Sa 23.Dez 06

=A7-WOCHENTAG(A7)

8

Di 26.Dez 06

Sa 23.Dez 06

=A8-WOCHENTAG(A8)

Nachdem wir nun für unsere Vorwärtszählung nicht von einem beliebigen Wochentag ausgehen, sondern immer vom davorliegenden Samstag, wissen wir stets, was wir hinzuzählen müssen, um zum tatsächlich angestrebten Wochentag zu gelangen:

A

B

C

D

E

1

Startdatum

=$A2-WOCHENTAG($A2)
+7

=$A2-WOCHENTAG($A2)
+1

=$A2-WOCHENTAG($A2)
+2

=$A2-WOCHENTAG($A2)
+3

2

Do 21.Dez 06

Sa 23.Dez 06

So 17.Dez 06

Mo 18.Dez 06

Di 19.Dez 06

3

Fr 22.Dez 06

Sa 23.Dez 06

So 17.Dez 06

Mo 18.Dez 06

Di 19.Dez 06

4

Sa 23.Dez 06

Sa 23.Dez 06

So 17.Dez 06

Mo 18.Dez 06

Di 19.Dez 06

5

So 24.Dez 06

Sa 30.Dez 06

So 24.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

6

Mo 25.Dez 06

Sa 30.Dez 06

So 24.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

7

Di 26.Dez 06

Sa 30.Dez 06

So 24.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

8

Mi 27.Dez 06

Sa 30.Dez 06

So 24.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

Die Problemfälle sind in der oberen Tabelle hervorgehoben: Immer, wenn der angestrebte Wochentag mit dem Wochentag des Ausgangsdatums übereinstimmt, gelangen wir zum Ausgangsdatum anstatt zum entsprechenden Datum der kommenden Woche.

Nun könnte man versuchen, diesen Fall durch eine WENN-Abfrage in den Griff zu bekommen. Es geht aber auch eleganter.

Die Situation, die wir bisher haben ist die, dass wir maximal um 7 Tage zurückrechnen und anschließend maximal um 7 Tage vorwärts. Wir lösen das Problem, indem wir fix um 8 Tage vorwärts rechnen. Das bedeutet aber, dass wir die Formel anders aufbauen müssen.

Bisher haben wir uns einen fixen Startpunkt gesucht - immer der letzte Samstag – zu dem wir je nachdem 1, 2,...7 Tage hinzugezählt haben. Da wir jetzt fix 8 Tage hinzuzählen wollen, muss also der Startpunkt variabel werden und nicht auf den Samstag fixiert:

A

B

C

D

E

1

Startdatum

=$A2-WOCHENTAG($A2-1)
+8

=$A2-WOCHENTAG($A2-2)
+8

=$A2-WOCHENTAG($A2-3)
+8

=$A2-WOCHENTAG($A2-4)
+8

2

Do 21.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

Mi 27.Dez 06

Do 28.Dez 06

3

Fr 22.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

Mi 27.Dez 06

Do 28.Dez 06

4

Sa 23.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

Mi 27.Dez 06

Do 28.Dez 06

5

So 24.Dez 06

Mo 25.Dez 06

Di 26.Dez 06

Mi 27.Dez 06

Do 28.Dez 06

6

Mo 25.Dez 06

Mo 01.Jan 07

Di 26.Dez 06

Mi 27.Dez 06

Do 28.Dez 06

7

Di 26.Dez 06

Mo 01.Jan 07

Di 02.Jan 07

Mi 27.Dez 06

Do 28.Dez 06

8

Mi 27.Dez 06

Mo 01.Jan 07

Di 02.Jan 07

Mi 03.Jan 07

Do 28.Dez 06

3.1.1. Anwendungsbeispiele

Für die Erklärung des Formelaufbaus haben wir je nach Wochentag einen fixen Wert benutzt:
$A2-WOCHENTAG($A2-1)+8 → zum nächsten Montag
$A2-WOCHENTAG($A2-2)+8 → zum nächsten Dienstag
$A2-WOCHENTAG($A2-3)+8 → zum nächsten Mittwoch
usw.

Vielleicht ist der angestrebte Wochentag aber nicht immer der gleiche. Dann könnte man z.B. eine Zelle benutzen, in die man den jeweils zu benutzenden Wert hinterlegt, dann könnte die Formel so aussehen:
$A2-WOCHENTAG($A2-$A$1)+83

Oder man hinterlegt in dieser Zelle keine Werte, sondern die Wochentage: Mo, Di, Mi, usw. Dann müsste man eine WENN-Formel einbauen:

=WENN($A$1="Mo";1; WENN($A$1="Di";2; WENN($A$1="Mi";3; WENN($A$1="Do";4; WENN($A$1="Fr";5; WENN($A$1="Sa";6;7))))))

Die ganze Formel würde dann so aussehen:

$A2-WOCHENTAG($A2-WENN($A$1="Mo";1; WENN($A$1="Di";2; WENN($A$1="Mi";3; WENN($A$1="Do";4; WENN($A$1="Fr";5; WENN($A$1="Sa";6;7)))))))

Statt WENN-Formeln könnte man auch mit der Funktion SVERWEIS() arbeiten.

3.2. Zum letzten Montag (Dienstag, Mittwoch,....)

Im vorigen Beispiel mussten wir zuerst zurückrechnen und anschließend wieder vorwärtsrechnen, wodurch wir das Problem lösen mussten, dass die Anzahl zurückgerechneter Tage nicht gleich sein durfte wie die Anzahl vorwärtsgerechneter Tage.

Wenn wir einen zurückliegenden Wochentag suchen, haben wir es leichter:

(Datum-WOCHENTAG(Datum)) → zum letzten Samstag
(Datum-WOCHENTAG(Datum+1)) → zum letzten Freitag
(Datum-WOCHENTAG(Datum+2)) → zum letzten Donnerstag

Auch hier kann natürlich der Ausdruck +1, +2, usw. ersetzt werden durch einen Zellbezug oder eine WENN-Formel wie in den obigen Anwendungsbeispielen beschrieben.

3.3. Der erste Montag von jedem Monat des laufenden Jahres

Das folgende Beispiel geht davon aus, dass das aktuelle Jahr in einer benannten Zelle hinterlegt ist, und man sich mit der Bezeichnung AktuellesJahr darauf beziehen kann. Die Jahreszahl kann dabei direkt oder in der Form =JAHR(HEUTE()) gespeichert sein. Die hier verwendete Bezeichung AktuellesJahr kann natürlich auch durch eine Zelladresse oder eine Formel ersetzt werden.

A

B

1

Montag, 02.01.2006

DATUM(AktuellesJahr;ZEILE();8) -WOCHENTAG(DATUM(AktuellesJahr;ZEILE();6)

Erklärung:
Man geht vom Datum eine Woche nach dem Monatsersten aus und rechnet um einen Wert zurück, der sich aus dem Wochentag des Monatsersten herleiten lässt.
Für die Bestimmung des Monats wird die Zeilennummer verwendet. Entspricht diese nicht den gesuchten Monaten, muss der Wert für ZEILE() entsprechend angepasst werden.

2

Montag, 06.02.2006

3

Montag, 06.03.2006

4

Montag, 03.04.2006

5

Montag, 08.05.2006

6

Montag, 05.06.2006

7

Montag, 03.07.2006

8

Montag, 07.08.2006

9

Montag, 04.09.2006

10

Montag, 02.10.2006

11

Montag, 06.11.2006

12

Montag, 04.12.2006

Der jeweils erste Dienstag:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();5)

Der jeweils erste Mittwoch:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();4)

Der jeweils erste Donnerstag:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();3)

Der jeweils erste Freitag:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();2)

Der jeweils erste Samstag:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();8)

Der jeweils erste Sonntag:
=DATUM(AktuellesJahr;ZEILE();8)-WOCHENTAG(DATUM(AktuellesJahr;ZEILE();7)

3.4. Samstag/Sonntag auslassen

Das folgende Beispiel ergibt einen Kalender, der jeden Monat mit dem ersten Montag dieses Monats beginnt und nur die Wochentage berücksichtigt.

Um den jeweils ersten Montag pro Monat zu ermitteln gehen wir wie oben beschrieben vom jeweils 8. des Monats aus und rechnen zurück. Dieses Datum – der 8. des Monats – verwenden wir gleich als Spaltentitel und ordnen den Zellen in Zeile 1 das Zahlenformat: MMMM JJJJ zu.

Im Beispiel steht in Spalte 1 der Januar, in Spalte 2 der Februar, etc. Also können wir die Spaltennummer benutzen, um den jeweiligen Monat festzulegen. Wir gehen davon aus, dass es um das aktuelle Jahr gehen soll, daher definiert sich das Jahr mit der Formel =JAHR(HEUTE()). Die ganze Formel in allen Zellen der ersten Zeile lautet also:
=DATUM(JAHR(HEUTE());SPALTE();8)

A

B

C

D

E

1

Januar 2006

Februar 2006

März 2006

April 2006

Mai 2006

2

Mo, 02.01.06

Mo, 06.02.06

Mo, 06.03.06

Mo, 03.04.06

Mo, 01.05.06

3

Di, 03.01.06

Di, 07.02.06

Di, 07.03.06

Di, 04.04.06

Di, 02.05.06

4

Mi, 04.01.06

Mi, 08.02.06

Mi, 08.03.06

Mi, 05.04.06

Mi, 03.05.06

5

Do, 05.01.06

Do, 09.02.06

Do, 09.03.06

Do, 06.04.06

Do, 04.05.06

6

Fr, 06.01.06

Fr, 10.02.06

Fr, 10.03.06

Fr, 07.04.06

Fr, 05.05.06

7

Mo, 09.01.06

Mo, 13.02.06

Mo, 13.03.06

Mo, 10.04.06

Mo, 08.05.06

8

Di, 10.01.06

Di, 14.02.06

Di, 14.03.06

Di, 11.04.06

Di, 09.05.06

9

Mi, 11.01.06

Mi, 15.02.06

Mi, 15.03.06

Mi, 12.04.06

Mi, 10.05.06

10

Do, 12.01.06

Do, 16.02.06

Do, 16.03.06

Do, 13.04.06

Do, 11.05.06

11

Fr, 13.01.06

Fr, 17.02.06

Fr, 17.03.06

Fr, 14.04.06

Fr, 12.05.06

12

Mo, 16.01.06

Mo, 20.02.06

Mo, 20.03.06

Mo, 17.04.06

Mo, 15.05.06

Die Formel in A2 lautet:
=A1-WOCHENTAG(A1+5)
Diese Formel kann nun nach rechts kopiert werden.

In A3 muss eigentlich nur gerechnet werden: =A2+1. Dann können wir diese Formel aber nur zweimal kopieren und müssen sie am Freitag anpassen und 3 statt 1 hinzu zählen. Also erweitern wir die Formel in A3 auf:
=A2+1+WENN(WOCHENTAG(A2)=6;2) Diese Formel kann nun nach unten und rechts kopiert werden.

3.4.1. Jahreswechsel

Wir haben beim obigen Kalender die Spaltennummer benutzt, um den aktuellen Monat zu ermitteln. Wenn Sie nun denken, bei Spalte 12 sei Schluss, so irren Sie. Die Funktion DATUM() ist intelligenter als es auf den ersten Blick scheint:

Man kann den obigen Kalender getrost weiter nach rechts kopieren:

A

C

D

E

1

November 2006

Dezember 2006

Januar 2007

Februar 2007

2

Mo, 06.11.06

Mo, 04.12.06

Mo, 01.01.07

Mo, 05.02.07

Siehe auch: Datum

3.5. Der jeweils letzte Montag, Dienstag,... des Monats

Das folgende Beispiel geht davon aus, dass das laufende Jahr als Basis dienen soll und der Monat aus der Spaltennummer ermittelt wird (vgl. oben). Wenn das Basisdatum anders ermittelt wird, sind die Parameter Jahr, Monat, Tag der Funktion DATUM() entsprechend anzupassen.

Für die Ermittlung des letzten Montags (Dienstags, Mittwochs,...) des laufenden Monats gehen wir vom Folgemonat aus (daher SPALTE()+1). Wir machen uns die Tatsache zu nutze, dass ein Datum, von dem wir seine Wochentags-Nummer abziehen, uns zum davor liegenden Samstag führt (siehe oben). Wenn wir also vom ersten Tag des Folgemonats den Wochentag dieses Monatsersten abziehen, erhalten wir den letzten Samstag des laufenden Monats.

Für alle anderen gesuchten Wochentage ziehen wir vom Monatsersten des Folgemonats nicht den Wochentag des Monatsersten ab, sondern verschieben ihn gemäss folgender Tabelle:

A

B

1

Januar 2006

=DATUM(JAHR(HEUTE());SPALTE();1)

2

Sa, 28.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;1))

3

Fr, 27.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;2))

4

Do, 26.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;3))

5

Mi, 25.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;4))

6

Di, 31.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;5))

7

Mo, 30.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;6))

8

So, 29.01.06

=DATUM(JAHR(HEUTE());SPALTE()+1;1)  -WOCHENTAG(DATUM(JAHR(HEUTE());SPALTE()+1;7))


KategorieCalc KategorieHowto

4. Rechnen mit Datum und Zeit

Editieren

Zeitwerte rechnen (wie Datumswerte) in ganzen Tagen. Das wird offensichtlich, wenn man einen Zeitwert durch 1 dividiert (A1 sei 12:00 und B2=A1/1, das Resultat ist 0,5)

4.1. Stunden addieren und in Dezimalzahlen umrechnen

Wenn Zeitwerte z.B. mit einem Stundenansatz multipliziert werden sollen, werden sie als Dezimalwert benötigt.

Aus einem Zeitwert wird durch die Multiplikation mit 24 ein dezimaler Stundenbetrag.
Aus einem Zeitwert wird durch die Multiplikation mit 24*60 ein dezimaler Minutenbetrag.
Aus einem Zeitwert wird durch die Multiplikation mit 24*60*60 ein dezimaler Sekundenbetrag.

A

B

C

D

E

F

G

H

1

Start

Ende

Start

Ende

Stunden
und
Minuten

Stunden
dezimal

Stunden
dezimal
gerundet

Stunden
dezimal
aufgerundet

2

07:00

11:20

13:30

17:00

07:50

7,84

7,75

8,00

3

4

07:00

11:20

13:30

17:00

07:50

Hinweis:
Übersteigt eine Berechnung ganze Tage, so wird je nach Formatierung unter Umständen nur der verbleibende Rest in Stunden angezeigt.
(Dezimalwerte werden aber stets vollständig angezeigt)

5

07:00

11:20

13:30

17:00

07:50

6

07:00

11:20

13:30

17:00

07:50

7

07:00

11:20

13:30

17:00

07:50

8

Summe: 

31:20

Format: [HH]:MM

9

Summe: 

07:20

Format: HH:MM

Zelle E2

Formel: =B2-A2+D2-C2
Format: HH:MM

Zelle F2

Formel: =(B2-A2+D2-C2)*24
Format: 0,00

Zelle G2

Formel: =VRUNDEN((B2-A2+D2-C2)*24;0,25)
Format: 0,00

Zelle H2

Formel: =OBERGRENZE((B2-A2+D2-C2)*24;0,25)
Format: 0,00

4.2. Minuten und Sekunden, Differenz im Zeit- oder Dezimalformat

Im vorigen Beispiel wurden Stunden durch die Multiplikation mit 24 in einen Dezimalwert umgerechnet. Bei Minuten muss zusätzlich mit 60 multipliziert werden. Im folgenden wird die Differenz zwischen zwei Zeiten errechnet und sowohl im Zeit- wie auch Dezimalformat ausgegeben, um z.B. Telefonkosten abzurechnen.

Bitte auch hier den Unterschied zwischen dem Format [HH]:MM:SS und HH:MM:SS bedenken (vgl. oben).

A

B

C

D

E

F

1

Start

Ende

Differenz im Zeitformat

Ganze Minuten

Sekunden

Differenz im Dezimalformat

2

12:41:10

12:45:50

00:04:40

4

40

4,67

Zellen A2/B2

Format: HH:MM:SS

Zelle C2

Formel: =B1-A1

Zelle D2

Formel: =GANZZAHL(B2*24*60-A2*24*60)

Zelle E2

Formel: =(B2-A2)*24*60*60-GANZZAHL((B2-A2)*24*60)*60

Zelle F2

Formel: =(B2-A2)*60*24

4.3. JAHR(), MONAT(), TAG(), STUNDE(), MINUTE(), SEKUNDE()

Mit diesen Funktionen kann man aus einem Datums- und/oder Zeitwert die gewünschten Details herausfiltern.

=JAHR(HEUTE())

ergibt beispielsweise die zum aktuellen Datum passende Jahreszahl vierstellig aus.

=MINUTE(JETZT())

ergibt die Minuten der aktuellen Uhrzeit.

/!\ ACHTUNG: Diese Funktionen liefern nicht die tatsächliche Anzahl z.B. von Stunden.

Beispiel: Aus einer Zeitspalte wird die Summe gebildet und ergibt 24:44:00, also 24 Stunden und 44 Minuten. Wenn man auf diesen Wert die Funktion STUNDE() anwendet, so ergibt sich:

=STUNDE(24:44:00) -> Ergebnis: 0

STUNDE() wird als Zahl zwischen 0 und 23 wiedergegeben. Ab 24 Stunden wird wieder bei 0 angefangen. Die tatsächliche Anzahl an Stunden muss man also anders berechnen, wie z.B.:

=GANZZAHL(24:44:00*24)
bzw.
=GANZZAHL(ZelleMitZeitwert*24)

4.4. Stunden und Tage, arbeiten mit verschiedenen Formaten

A

B

C

D

E

F

G

1

Start

Ende

Stunden und
Minuten

Stunden
dezimal

Tage

2

12.07.05 13:30

14.07.05 17:10

51:40

03:40

51,67

2,15

2,15

Zellen A2/B2

Format: TT.MM.JJ HH:MM

Zelle C2

Formel: =B2-A2
Format: [HH]:MM

Zelle D2

Formel: =B2-A2
Format: HH:MM

Zelle E2

Formel: =(B2-A2)*24
Format: 0,00

Zelle F2

Formel: =TAGE(B2-A2)
Format: 0,00

Zelle G2

Formel: =B2-A2
Format: 0,00

4.5. Stunden, Tage, Minuten getrennt

A

B

C

D

E

1

Start

Ende

Ganze Tage

Rest ganze Stunden

Rest Minuten

2

12.07.05 13:30

14.07.05 17:10

2

3

40

Zellen A2/B2

Format: TT.MM.JJ HH:MM

Zelle C2

Formel: =GANZZAHL(B2-A2)
Format: 0

Zelle D2

Formel: =GANZZAHL((B2-A2)*24)-GANZZAHL(B2-A2)*24
Format: 0

Zelle E2

Formel: =(B2-A2)*24*60-GANZZAHL((B2-A2)*24)*60
Format: 0

4.6. Datum und Zeit aus verschiedenen Zellen

A

B

C

D

E

F

G

H

I

J

1

Start-
Datum

Start-
Zeit

Schluss-
Datum

Schluss
Zeit

Tage

Stunden

Minuten

Ganze Tage

Rest ganze Stunden

Rest Minuten

2

01.08.2005

08:10

07.08.2005

15:40

6,31

151,50

9090

6

7

30

Zellen A2/C2

Format: TT.MM.JJJJ

Zellen B2/D2

Format: HH:MM

Zelle E2

Formel: =(C2+D2)-(A2+B2)
Format: 0,00

Zelle F2

Formel: =((C2+D2)-(A2+B2))*24
Format: 0,00

Zelle G2

Formel: =((C2+D2)-(A2+B2))*24*60
Format: 0,00

Zelle H2

Formel: =GANZZAHL((C2+D2)-(A2+B2))
Format: 0

Zelle I2

Formel: =GANZZAHL(((C2+D2)-(A2+B2))*24)-GANZZAHL((C2+D2)-(A2+B2))*24
Format: 0

Erklärung:
Es wird die Ganzzahl von Stunden ermittelt und davon die mit 24 multiplizierte Ganzzahl Tage subtrahiert

Zelle J2

Formel: =((C2+D2)-(A2+B2))*24*60-GANZZAHL(((C2+D2)-(A2+B2))*24)*60
Format: 0

Erklärung:
Es wird die Gesamtzahl Minuten ermittelt und davon die mit 60 multiplizierte Ganzzahl Stunden subtrahiert

4.7. Anzahl Tage zwischen zwei Datumsangaben

A

B

C

D

F

1

Von

Bis

Anzahl Tage
zwischen Von und Bis

2

01.01.2002

15.03.2007

1899

Formel in C2:

B2-A2

3

 

 

1899

Formel in C3:

=TAGE(B2;A2)

4

 

 

1874

Formel in C4:

=TAGE360(A2;B2;0)

Für die Zinsberechnung geht man üblicherweise von 360 Tagen pro Jahr aus.

0: US-Methode (NASD)

5

 

 

1874

Formel in C5:

=TAGE360(A2;B2;1)

1: europäische Methode (NASD)

4.8. Anzahl Monate zwischen zwei Datumsangaben

A

B

C

D

F

1

Von

Bis

Anzahl Monate
zwischen Von und Bis

2

29.02.2012

28.02.2013

11

Formel in C2:

=MONATE(A2;B2;0)

0: Intervall

3

29.02.2012

28.02.2013

12

Formel in C3:

=MONATE(A2;B2;1)

1: in Kalendermonaten

4.9. Anzahl Jahre zwischen zwei Datumsangaben

A

B

C

D

F

1

Von

Bis

Anzahl Jahre
zwischen Von und Bis

2

01.02.01

15.01.05

4

Formel in C2:

=JAHRE(A2;B2;1)

1: in Kalenderjahren

3

 

 

3

Formel in C3:

=JAHRE(A2;B2;0)

0: Intervall

4

 

 

3,96

Formel in C4:

=BRTEILJAHRE(A2;B2;0)

0: US-Methode (NASD), 12 Monate je 30 Tage

5

 

 

3,95

Formel in C5:

=BRTEILJAHRE(A2;B2;1)

1: genaue Anzahl Tage im Monat, genaue Anzahl Tage im Jahr

6

 

 

4,01

Formel in C6:

=BRTEILJAHRE(A2;B2;2)

2: genaue Anzahl Tage im Monat, Jahr hat 360 Tage

7

 

 

3,96

Formel in C7:

=BRTEILJAHRE(A2;B2;3)

3: genaue Anzahl Tage im Monat, Jahr hat 365 Tage

8

 

 

3,96

Formel in C8:

=BRTEILJAHRE(A2;B2;4)

4: Europa-Methode, 12 Monate je 30 Tage

4.10. Ein Datum +/- eine bestimmte Anzahl Monate

Die Funktion EDATUM() bestimmt einen Tag, der eine wählbare Anzahl von Monaten vor oder nach einem Ausgangsdatum liegt. Dabei werden nur einzelne Tage berechnet, was zu diesen Ergebnissen führt:

A

B

C

1

Ausgangsdatum

Berechnetes Datum

Formel in Spalte B

2

29.03.07

28.02.07

=EDATUM(A2;-1)

3

29.03.06

28.02.06

=EDATUM(A3;-1)

4

29.03.05

28.02.05

=EDATUM(A4;-1)

5

29.03.04

29.02.04

=EDATUM(A5;-1)

6

29.03.03

28.02.03

=EDATUM(A6;-1)

7

29.03.02

28.02.02

=EDATUM(A7;-1)

8

30.03.02

28.02.02

=EDATUM(A8;-1)

9

31.03.02

28.02.02

=EDATUM(A9;-1)

4.11. Was ist ein Tag, was ist ein Monat, was ist ein Jahr?

Ist vom 1.1.05 bis zum 31.12.05 nun ein Jahr vergangen oder nicht? Sind es 11 oder 12 Monate? 364 Tage oder 365?

A

B

C

D

E

1

Datum von

Datum bis

Anzahl Jahre

Anzahl Monate

Anzahl Tage

2

01.01.2005

31.12.2005

0

11

364

3

Der Sachverhalt wird klar, sobald man auf das vollständige Zeitformat wechselt:
Das bis-Datum geht von 0 Uhr aus.
(Man kann auch an den eigenen Geburtstag denken: Am Vortag gilt noch das "alte" Alter, das neue Jahr fängt erst um 24 Uhr an, bzw. um 0 Uhr des Folgetages.)

4

01.01.2005 00:00

31.12.2005 00:00

0

11

364

Zelle C2/C4

Formel: =JAHRE(A2;B2;0)
Format: 0

Zelle D2/D4

Formel: =MONATE(A2;B2;0)
Format: 0

Zelle E2/E4

Formel: =TAGE(B2;A2)
Format: 0

Wenn man das bis-Datum als vollen Tag gerechnet haben will, muss man das in der Formel berücksichtigen:

A

B

C

D

E

1

Datum von

Datum bis

Anzahl Jahre

Anzahl Monate

Anzahl Tage

2

01.01.2005

31.12.2005

1

12

365

Theoretisch könnte man einfach 1 zum bis-Datum addieren. Um sicherzugehen, filtert man jedoch aus beiden Datumsangaben das reine Datum heraus, addiert aber dann zum bis-Datum 24 Stunden.4 Das ist später auch leichter nachzuvollziehen als einfach +1:

Zelle C2

Formel: =JAHRE(DATUM(JAHR(A2);MONAT(A2);TAG(A2));
        DATUM(JAHR(B2);MONAT(B2);TAG(B2))+ZEIT(24;0;0);0)

Format: 0

Zelle D2

Formel: =MONATE(DATUM(JAHR(A2);MONAT(A2);TAG(A2));
        DATUM(JAHR(B2);MONAT(B2);TAG(B2))+ZEIT(24;0;0);0)

Format: 0

Zelle E2

Formel: TAGE(DATUM(JAHR(B2);MONAT(B2);TAG(B2))+ZEIT(24;0;0);
        DATUM(JAHR(A2);MONAT(A2);TAG(A2)))

Format: 0

4.12. Die Funktion UMWANDELN_ADD

Diese Funktion erlaubt es, einen Wert von einer Maßeinheit in eine andere umzurechnen. Im Bereich Zeit kann die Formel von und nach den Einheiten:

  • Jahr: yr

  • Tag: day

  • Stunde: hr

  • Minute: mn

  • Sekunde: sec

umrechnen.

In den folgenden Beispielen wurden individuelle Zellformate benutzt, um die Einheiten zu den Werten anzuzeigen.

A

B

C

D

1

Ausgangseinheit

Umgerechnet in

Formel in Spalte B

Zellformat in Spalte B

2

1 Jahr(e)

365 Tag(e)

=UMWANDELN_ADD(A2;"yr";"day")

0 [$ Tag(e)]

3

1 Jahr(e)

365,25 Tag(e)

=UMWANDELN_ADD(A3;"yr";"day")

0,00 [$ Tag(e)]

4

1 Jahr(e)

8766 Stunde(n)

=UMWANDELN_ADD(A4;"yr";"hr")

0 [$ Stunde(n)]

5

1 Jahr(e)

525960 Minute(n)

=UMWANDELN_ADD(A5;"yr";"mn")

0 [$ Minute(n)]

6

1 Jahr(e)

31557600 Sekunde(n)

=UMWANDELN_ADD(A6;"yr";"sec")

0 [$ Sekunde(n)]

7

31  Tag(e)

0,085 Jahr(e)

=UMWANDELN_ADD(A7;"day";"yr")

0,000 [$ Jahr(e)]

4.13. Arbeitszeit abzüglich Feiertage

Mit der Funktion NETTOARBEITSTAGE() wird die Anzahl Arbeitstage errechnet, die zwischen zwei Kalenderdaten liegt. Optional kann ein Bereich genannt werden, der eine Liste von Feiertagsdaten enthält. Diese Feiertage werden – sofern sie auf Werktage fallen – von den Arbeitstagen abgerechnet.

A

B

C

D

2

01.01.05

Neujahr

Datum von:

20.03.05

3

25.03.05

Karfreitag

Datum bis:

05.04.05

4

27.03.05

Ostersonntag

Differenz in Tagen:

16

5

28.03.05

Tag der Arbeit

Werktage:

12

6

05.05.05

Christi Himmelfahrt

Werktage abzüglich Feiertage:

10

Zelle D4

Formel: =TAGE(D3;D2)

Zelle D5

Formel: =NETTOARBEITSTAGE(D2;D3)

Zelle D6

Formel: =NETTOARBEITSTAGE(D2;D3;A2:A6)

4.14. Arbeitstag-Datum in der Zukunft oder Vergangenheit suchen

Mit der Funktion ARBEITSTAG() wird das Datum eines Arbeitstages ermittelt, der eine bestimmte Anzahl von Arbeitstagen von einem Ausgangsdatum entfernt liegt Optional kann ein Bereich genannt werden, der eine Liste von Feiertagsdaten enthält. Diese Feiertage werden – sofern sie auf Werktage fallen – von den Arbeitstagen abgerechnet.

A

B

C

D

2

01.01.05

Neujahr

Datum von:

20.03.05

3

25.03.05

Karfreitag

Anzahl Tage:

10

4

27.03.05

Ostersonntag

Datum:

01.04.05

5

28.03.05

Tag der Arbeit

Datum (Feiertage berücksichtigt):

05.04.05

6

05.05.05

Christi Himmelfahrt

Zelle D4

Formel: =ARBEITSTAG(D2;D3)
Format: TT.MM.JJ

Zelle D5

Formel: =ARBEITSTAG(D2;D3;A2:A6)
Format: TT.MM.JJ

4.15. Bruchteile von Jahren

Man kann einen Zeitraum mit einem bekannten Anfangs- und einem bekannten Enddatum als Bruchteil eines Jahres darstellen lassen. Datei gibt es verschiedene Methoden (Basis 0 bis 4 im folgenden Beispiel) der Berechnung. Die Methoden unterscheiden sich in der Definition von Jahr und Monat. Nur mit der Basis 1 wird von der genauen Anzahl Tage im Monat ausgegangen, wodurch das Ergebnis in Schaltjahren variiert. Die europäische Methode wird mit Basis 4 angewendet und geht von 30 Tagen pro Monat aus. Eine Beschreibung aller Berechnungsmethoden liefert der Hilfetext.

A

B

C

D

E

1

30.12.99

30.12.99

Basis

Jahres-Bruchteil

Formel

2

29.04.07

08.09.07

0

0,358333333333333

=BRTEILJAHRE(A2;B2;C2)

3

29.04.07

08.09.07

1

0,361643835616438

=BRTEILJAHRE(A3;B3;C3)

4

29.04.07

08.09.07

2

0,366666666666667

=BRTEILJAHRE(A4;B4;C4)

5

29.04.07

08.09.07

3

0.,361643835616438

=BRTEILJAHRE(A5;B5;C5)

6

29.04.07

08.09.07

4

0,358333333333333

=BRTEILJAHRE(A6;B6;C6)

Schaltjahr

8

29.04.04

08.09.04

0

0,358333333333333

=BRTEILJAHRE(A8;B8;C8)

9

29.04.04

08.09.04

1

0,360655737704918

=BRTEILJAHRE(A9;B9;C9)

10

29.04.04

08.09.04

2

0,366666666666667

=BRTEILJAHRE(A10;B10;C10)

11

29.04.04

08.09.04

3

0,361643835616438

=BRTEILJAHRE(A11;B11;C11)

12

29.04.04

08.09.04

4

0,358333333333333

=BRTEILJAHRE(A12;B12;C12)

4.16. Mitternacht

Zeitangaben, die über Mitternacht hinausgehen, sind tückisch. Im nachstehenden Beispiel sehen Sie in den Zeilen mit einem * was sich tatsächlich hinter der Zeit in der darüberliegenden Zelle verbirgt. Und welchen Unterschied die Zeitformate [HH] und HH aufweisen.

 

A

B

C

D

E

F

1

ANFANG

ENDE

DIFFERENZ
ENDE – ANFANG

Formeln
in Spalte D

Format in Spalte D

2

23:00

01:45

02:45

=C2-B2

HH:MM

3

*

23:00:00

01:45:00

-21:15

=C2-B2

[HH]:MM

4

23:00

01:45

02:45

=C4-B4

HH:MM

5

*

01.12.2004 23:00:00

02.12.2006 01:45:00

02:45

=C4-B4

[HH]:MM

6

23:00

01:45

26:45

=C6-B6

HH:MM

7

*

01.12.2004 23:00:00

03.12.2006 01:45:00

02:50

=C6-B6

[HH]:MM

Spätestens, wenn man ein solches Ergebnis bekommt, wird klar, dass nicht nur ein Formatproblem vorliegt, sondern auch ein logisches:

 

A

B

C

D

1

von

bis

DIFFERENZ
bis - von

Formeln
in Spalte C

2

23:00

01:45

02:45

=B2-A2

3

23:00

01:45

02:45

=B3-A3

4

 

 

-42:30:00

=SUMME(C2:C3)

Ein Zeitwert ist immer Teil eines Datumswertes. Gibt man in eine Zelle nur eine Zeit ohne Datum ein, so geht Calc von einem zugehörigen Datum 0 aus. Welches Datum zum Tag 0 gehört, ist unter Extras → Optionen → OpenOffice.org Calc → Berechnen definiert, standardmäßig ist das der 30.12.1899.

Wenn man die Zeitwerte im obigen Beispiel mit dem Format
TT.MM.JJJJ HH:MM
anzeigen lässt, so erhält man:
von: 30.12.1899 23:00 bis 30.12.1899 01:45
woraus klar wird, dass die bis-Zeit kleiner als die von-Zeit ist.

Man kann die Zeiten auch als Zahl anzeigen lassen und erhält:
von: 0.96 bis: 0.07
woraus ebenfalls hervorgeht, dass die bis-Zeit kleiner ist als die von-Zeit.

Um nun eine korrekte Differenz zu bekommen, gibt es zwei Möglichkeiten. Entweder man integriert das Datum. Das kann in der gleichen Zelle geschehen, man kann direkt eintippen:
01.07.2007 18:00:00
oder man führt für "von" und "bis" jeweils zwei Spalten, eine mit dem Datum und eine mit der Zeit.

 

A

B

C

D

E

F

G

1

von

bis

DIFFERENZ
bis - von

Formel
in Spalte F

2

01.07.07

23:00

02.07.07

01:45

02:45

=(D2+E2)-(B2+C2)

Die Einbeziehung des Datums hat den Vorteil, dass nun zwischen der von-Zeit und der bis-Zeit eine beliebige Anzahl Stunden liegen kann, also auch mehr als 24.

Wenn man sicher ist, dass zwischen von und bis weniger als 24 Stunden liegen, kann man auf das Datum verzichten und stattdessen die Formel für die Ermittlung der Differenz anpassen:

 

A

B

C

D

E

1

von

bis

DIFFERENZ
bis - von

Formel
in Spalte D

2

23:00

01:45

02:45

=(24:00:00-B2)+C2

Und da 24:00:00 für Calc gleichbedeutend ist mit 1, kann man auch schreiben: =(1-B2)+C2

Wenn man nicht davon ausgehen kann, dass zwischen der von- und der bis-Zeit Mitternacht liegt, packt man das Ganze in eine WENN-Funktion:
=WENN(C2<B2;(1-B2)+C2;C2-B2)

4.17. Schaltjahre

Es gibt mehrere Funktionen, welche im Zusammenhang mit Schaltjahren verwendet werden können.

Die Funktion =ISTSCHALTJAHR(Datum) liefert einen Wahrheitswert.

Mit den Funktionen =TAGEIMJAHR(Datum) und =TAGEIMMONAT(Datum) erhält man die jeweilige Anzahl Tage und kann daraus schließen, ob es sich um ein Schaltjahr handelt oder nicht.

Beispiele:

=TAGEIMMONAT(DATUM(2004;2;1))
 Ergebnis: 29
=TAGEIMJAHR(HEUTE())
 Ergebnis: je nach Jahr 365 oder 366
=TAGEIMMONAT(MONATSENDE(DATUM(2004;1;1);1))
 Ergebnis: 29
=ISTSCHALTJAHR(HEUTE())
 Ergebnis: je nach Jahr FALSCH oder RICHTIG bzw. 0 oder 1


KategorieHowto KategorieCalc

5. Die Flexibilität von DATUM()

Editieren

Vielleicht haben Sie die Funktion DATUM() auch schon benutzt, um Kalender aufzubauen und dabei im Parameter Monat Werte zwischen 1 und 12 und im Parameter Tag Werte zwischen 1 und 31 eingesetzt.

Interessant ist diese Funktion aber vor allem dann, wenn die Parameter für Monat und Tag per Formel variabel gestaltet werden können, etwa mit den Funktionen ZEILE() oder SPALTE().

Und hier zeigt sich dann die große Flexibilität der Formel. Anders, als man vielleicht annehmen würde, ist der Monat-Parameter nicht auf 1 bis 12, der Tagesparameter nicht auf 1 bis 31 beschränkt. Hier ein paar Beispiele:

d1.gif

d2.gif

d3.gif

Auch rückwärts rechnet die Funktion logisch:

d4.gif

d5.gif

d6.gif


KategorieTipps KategorieCalc

6. Siehe auch


KategorieCalc


  1. Die Wochentagsnummer ist abhängig vom zweiten Parameter der Funktion WOCHENTAG(). Im obigen Beispiel ist dieser Parameter auf 2 gesetzt, was bedeutet, dass die Zählung am Montag bei 1 beginnt. Lässt man diesen Parameter leer oder setzt ihn auf 1, so beginnt die Zählung am Sonntag mit 1. (1)

  2. Die Funktion WOCHENTAG() kann mit der Zählung je nach Wunsch am Sonntag oder Montag beginnen. In den Beispielen dieser Seite benutzen wir die Standardeinstellung, die mit der Zählung am Sonntag beginnt. Die Verwendungsmöglichkeiten der Funktionsparameter sind im Online-Hilfetext (F1) aufgeführt. (2)

  3. Wenn die Formel kopiert werden soll, unbedingt auf die richtige Verwendung der absoluten und relativen Adressen achten. (3)

  4. In AOO ab Version 3.4 liefert die Funktion ZEIT() einen Wert zwischen 00:00:00 und 23:59:59.999 (zuvor lieferte die Funktion auch Werte von größer oder gleich 24:00:00.0). Die folgenden Beispiele sind deshalb nicht gültig für AOO. (4)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28