Ermittlung der Kalenderwoche

Am Montag soll der Kalender ansonsten neben dem Wochentag auch die aktuelle Kalenderwoche anzeigen. Dazu müssen Sie die bisherige Formel in der Zelle B38 abändern:

=WENN(WOCHENTAG(A38)=2;TEXT(A38;"TTT")&"   KW "  &KALENDERWOCHE(A38;1);A38)

Diese Formel prüft an jedem Tag, ob der Wochentag der besagten Zelle ein Montag ist (WOCHENTAG = 2). Ist dies der Fall, weist Calc den Kalendertag dieser Zelle mit dem Format-Code TTT – wie oben beschrieben – als Text aus. Dann folgen der Text " KW " (drei Leerzeichen vor KW, eines danach) sowie die errechnete Kalenderwoche (KALENDERWOCHE(A38;1)). Zusätzlich müssen Sie den Inhalt der Zelle linksbündig ausrichten und als Format-Code wieder TTT angeben. Doch tragen Sie auch diese Formel noch nicht kalenderweit ein, es geht noch weiter mit den Feiertagen.

Feiertage einfügen

Für Feiertage gibt es leider keine eingebaute Funktion, die Calc abfragen könnte. Deshalb müssen Sie selbst eine Feiertagsliste anlegen, solche Listen finden Sie zum Beispiel hier [1]. Diese fügen Sie in einem freien Bereich der Kalendertabelle ein – beispielsweise irgendwo rechts daneben oder in einer eigenen Tabelle. Anschließend vergleichen Sie die Datumsangaben des Kalenders mit dieser Liste und weisen so Feiertage im Kalender aus. Für dieses Beispiel nehmen wir an, dass Sie die gesamte Liste der Feiertage in der Tabelle2 ablegen. Diese benennen Sie über einen Rechtsklick auf den Reiter Tabelle2 und über den Menüpunkt Tabelle umbenennen in Feiertage um. Im Tabellenbereich A2:A100 (Abbildung 5) fügen Sie die Daten der Feiertage ein, in die Zellen B2:B100 kommen die zugehörigen Namen. In der Zeile 1 sehen Sie die Überschriften.

Die Datumswerte in Spalte A tragen Sie mit Hilfe der Funktion DATUM(Jahr; Monat; Tag) ein, etwa =DATUM(Kalender.A36;12;24) für Heiligabend, =OSTERSONNTAG(Kalender.A36)-2 für Karfreitag, =DATUM(Kalender.A36;1;1) für Neujahr und so weiter. Auf diese Weise verwenden Sie die Liste für jedes Kalenderjahr, das die Zelle A36 der Tabelle Kalender anbietet. Letztere müssen Sie dazu, wie eben gezeigt, von Tabelle1 in Kalender umbenennen, damit jeder Benutzer sofort merkt, um welche Tabellenblätter es sich handelt. Zum Schluss weisen Sie der Liste noch das gewünschte Datumsformat zu, in diesem Fall TT.MM.JJ. Damit die Feiertage auch mit ihrem Namen im Kalender erscheinen, tragen Sie in die danebenliegende Spalte B ihre Namen ein.

Zur einfacheren Handhabung markieren Sie nun den Datumsbereich Feiertage.A2:A100 und versehen ihn über Einfügen / Namen / Festlegen mit dem Namen Feiertage. Da sich der gesamte Feiertagsabschnitt aber auf den Bereich Feiertage.A2:B100 erstreckt, markieren Sie auch diesen und nennen ihn Feiertagsbereich.

Die Spalte C der Tabelle Feiertage enthält zusätzlich sämtliche in Spalte A verwendeten Formeln in lesbarer Form. Möglich macht dies die Funktion =FORMEL() – in Zelle C2 heißt sie etwa =FORMEL(A2).

Abbildung 5: Im Internet gibt es zahlreiche Listen, welche die Feiertage nach Bundesländern aufdröseln. Aus ihnen erstellen Sie die Tabelle "Feiertage".

Für die zum Anzeigen des Feiertags verwendete Formel spielt es keine Rolle, ob Sie in die Feiertagsliste zuerst die Feiertagsnamen und dann die Datumswerte oder beides in umgekehrter Reihenfolge eingeben. Sie müssen die Feiertagsliste auch nicht chronologisch sortieren. Die Formel, die diese Bedingungen erfüllt und den Feiertagsnamen liefert, besitzt exemplarisch folgenden Aufbau:

=WENN(ISTNV(VERGLEICH(<Datumskriterium>;
<Datumsbereich des Feiertagsbereich>;0));
"";INDEX(<gesamter Feiertagsbereich>;
VERGLEICH(<Datumskriterium>;
<Datumsbereich des Feiertagsbereich>;0);
<Index der Namensspalte des Feiertagsbereich>))

In der Tabelle Feiertage finden Sie die Feiertage in den Spalten A und B, den gesamten Feiertagsbereich unter Feiertage.A2:B100. Den Datumsbereich des Feiertagsbereich haben Sie bereits mit Feiertage gelabelt (A2:A100). Der Parameter Index der Namensspalte des Feiertagsbereich gibt an, in welcher Spalte des Feiertagsbereichs Sie die Namen der Feiertage finden. Im Beispiel handelt es sich um Spalte B – der Index erhält somit den Wert 2. Gehen Sie weiterhin davon aus, dass Sie das Datumskriterium von Zelle C38 verwenden, lautet die mit Werten gefüllte Formel:

=WENN(ISTNV(VERGLEICH(C38;Feiertage;0));"";
" - "&INDEX(Feiertagsbereich;VERGLEICH(C38;Feiertage;0);2))

Diese prüft zuerst mit Hilfe der Funktion ISTNV(), ob das gesuchte Datum überhaupt in der Feiertagsliste existiert. Die Suche erfolgt über die Funktion VERGLEICH(Suchkriterium; Suchmatrix; Typ), die den Fehlerwert #NV zurück gibt, wenn sie keine Übereinstimmung findet. Dieser Wert lässt die Funktion ISTNV() "wahr" werden, weshalb die umgebende WENN-Abfrage das "Dann-Ergebnis" ausgibt – was hier aus einer leeren Zeichenfolge (zwei Anführungszeichen) besteht.

Bei einer Übereinstimmung erhalten Sie den Feiertagsnamen über die Funktion INDEX(Bezug; Zeile; Spalte; Bereich). Diese liefert den Wert am Schnittpunkt einer Zeile und einer Spalte aus der Feiertagsliste. Aus welcher Zeile der Wert stammt, bestimmt die bereits bekannte Funktion VERGLEICH(), die – im Gegensatz zu anderen Verweisfunktionen – nicht den Wert, sondern die Position der Fundstelle liefert. Die Spaltenposition für die INDEX()-Funktion richtet sich nach dem Aufbau der Feiertagstabelle – in diesem Fall befinden sich die Namen in Spalte 2.

Die komplette verknüpfte Formel in der Zelle D38 sieht am Ende also so aus:

=TEXT(C38;"TTT")&WENN(ISTNV(VERGLEICH(C38;Feiertage;0));
WENN(WOCHENTAG(C38)=2;"   KW "&KALENDERWOCHE(C38;1);"");
" - "&INDEX(Feiertagsbereich;VERGLEICH(C38;Feiertage;0);2))

Geben Sie in die Zelle C38 ein Datum ein, erscheint in der Zelle D38 der Wochentag im Zahlenformat TTT zusammen mit dem Feiertagsnamen oder – wenn es keinen Feiertag gibt und der Wochentag auf einen Montag fällt – zusammen mit der errechneten Kalenderwochennummer. Diese Formel kopieren Sie und fügen sie in allen übrigen Monatstageszellen (etwa Spalte B, D etc.) ein. Eine Ausnahme bildet Zelle F66, die den Wochentag zum 29. Februar anzeigt. Hier stellen Sie vor die eben gezeigte Formel (bei der Sie das = entfernen) noch einen zusätzlichen Teil:

=WENN(MONAT(E65+1)<>MONAT($E$37);"";

Der sorgt dafür, dass der Wochentag auch im Schaltjahr auftaucht.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • LibreOffice-Tipps
    Diesmal erfahren Sie in den LibreOffice-Tipps, wie Sie schnell an Blindtext kommen, mit Calc Kündigungsfristen verwalten und errechnen, ob ein Datum in ein Schaltjahr fällt.
  • Besser arbeiten mit OpenOffice
    In dieser Ausgabe erfahren Sie unter anderem, wie Sie in der Tabellenkalkulation Calc mit Datumswerten und Zeiten rechnen, Excel-kompatible Kalenderwochen erzeugen und warum der 1. Januar auf keinen Fall in der achten Kalenderwoche liegt.
  • LibreOffice-Tipps
    Die LibreOffice-Tipps verraten in dieser Folge unter anderem, wie Sie eigene Konstanten für Calc erstellen, Formeln ohne Änderungen kopieren, Erweiterungen für die Bürosuite finden, Fotos optimieren und Verknüpfungen zu eingebetteten Bildern lösen.
  • LibreOffice-Tipps
    Wir zeigen diesmal in den LibreOffice-Tipps, wie Sie die Durchschnittsnote eines Schulfaches errechnen, Tabellentext automatisch formatieren, Sonderzeichen und Umlaute ersetzen und einiges mehr.
  • LibreOffice-Tipps
    In dieser Ausgabe der LibreOffice-Tipps erfahren Sie, wie Sie Fließtext mit Bildern hinterlegen, Zahlenausgaben auf einen bestimmten Bereich reduzieren und Zellen automatisch numerieren.
Kommentare

Infos zur Publikation

title_2014_03

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...