LibreOffice 4.0 Calc – Formate per Formel VORLAGE zuweisen

Am Beispiel eines einfachen Kalenders will ich Ihnen hier zeigen, wie Sie in LibreOffice 4.0 Calc Zellen mit Hilfe der Funktion VORLAGE alternativ zu den bedingten Formatierungen unterschiedlich gestalten können. Grundlage war hier die Schnapsidee von mir mit bedingten Formatierungen einen Jahreskalender für 2015 zu entwerfen, denn ich anschließend hier zum Download anbieten wollte. Ich merkte aber ziemlich schnell, dass ich so richtig auf dem Holzweg war. Der Hacken dabei ist, das die bedingten Formatierungen der Reihe nach abgearbeitet werden. Wenn die erste Bedingung erfüllt ist wird diese auch angewendet. Eine Logik nach dem Motto WENN > DANN > ANSONSTEN läßt sich nur sehr schwer aufbauen. Hier bin ich auf die Funktion VORLAGE gestoßen, mit der sich komplexe Formatierungsbedingungen abbilden lassen. Schauen wir uns die Sache mal im Detail an.

2015-01-05 14_55_06-Kalender_2015_unformatiert.ods - LibreOffice CalcIch habe mir hier einen kleinen Kalendervorbereitet in dem ich erstmal nur die Monate mit Kalenderwoche und Wochentage eingetragen habe (siehe Screenshot links). In der Spalte A habe ich die Funktion =KALENDERWOCHE(B3;1) zur Berechung der entsprechenden Kalenderwoche hinterlegt. In den Spalten AK und AL sind die Feiertage mit dem jeweiligen Datum in 2015 hinterlegt. In der Zelle B3 habe ich die Formel =DATUM(2014;12;29) eingetragen für den ersten Tag in meinem Jahreskalender 2015. Jetzt muss ich noch in der Zelle B4 die Funktion =B3+7 eintragen und diese Formel mit der Auto-Ausfüllen-Funktion in die darunter liegenden Zellen kopieren. In der Zelle C3 trage ich dann die Funktion B3+1 ein, die ich anschließend in die restlichen Zellen des Monats Januar kopiere. Das Ergebnis sieht dann wie im Screenshot unten aus.

2015-01-05 15_05_58-Kalender_2015_unformatiert.ods - LibreOffice Calc

Die große Aufgabe war jetzt, wie stelle ich fest, ob ein Tag im Monat Januar ein Feiertag ist. Wenn also das Datum der Zelle einem Datum in der Liste der Feiertage entspricht, soll die Zelle mit der Formatvorlage “Feiertag” formatiert werden. Die ensprechende Funktion lautet VERGLEICH. Somit lautet meine Formel erstmal:

=VERGLEICH(AKTUELL();$AL$2:$AL$34;0)

Als Ergebnis erhalte ich die Nummer der Zelle zurück, in der der exakte Wert gefunden wurde. Wird kein Wert gefunden gibt die Formel den Wert #NV für nicht vorhanden zurück. Damit kann ich leider noch nicht wirklich was anfangen. Die Fehlermeldung muss ich also erstmal abfangen. Darum erweiter ich meine Formel um die Funktion ISTNV:

=ISTNV(VERGLEICH(AKTUELL();$AL$2:$AL$34;0))

Jetzt bin ich schon einen Schritt weiter. Das Ergebnis ist jetzt WAHR (1) oder FALSCH (0). Damit läßt sich schon einmal rechnen. Weil wenn ISTNV(Wert)=0 ist, handelt es sich um einen Feiertag. Jetzt kann ich meine Formel für die Formatierung vervollständigen:

=VORLAGE(WENN(ISTNV(VERGLEICH(AKTUELL();$AL$2:$AL$34;0))=0;”Feiertag”;”Standard”)

Damit ist die Formel für die Formatierung der Zellen fertig. Wenn der Vergleich der aktuellen Zelle mit der Liste der Feiertage den Wert Falsch bzw. 0 zurückgibt, wird die Zelle mit der Formatvorlage “Feiertag” formatiert. Ansonsten wird die Formatvorlage “Standard” angewendet. So einfach ist die Lösung. Jetzt markieren wir noch die Zellen im Januar aus und wählen im Menü den Befehl Bearbeiten – Suchen & Ersetzen aus. Im Feld Suchen nach geben wir den Ausdruck .* ein und im Feld Ersetzen durch unsere Formel

=&+VORLAGE(WENN(ISTNV(VERGLEICH(AKTUELL();$AL$2:$AL$34;0))=0;”Feiertag”;”Standard”)

Jetzt müssen wir nur noch die Felder Regulärer Ausdruck und Nur in Selektion markieren um mit Suche alle alle Zellen die in der Auswahl enthalten sind hervorzuheben. Mit einem Klick auf Alles ersetzen wird die Formel angehängt. Das Ergebnis sieht dann wie folgt aus:

2015-01-05 15_47_18-Kalender 2015.ods - LibreOffice Calc

Hier noch die Datei zum Download:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.