Zeiterfassung mit LibreOffice 5.3 Calc – Teil 1

Die Erfassung der Arbeitszeiten mit einer Tabellenkalkulation klingt auf den ersten Blick ziemlich trivial. Dem ist aber nicht immer so. Selbst erfahrene User Helpdesk Mitarbeiter stehen manchmal mit Excel oder LibreOffice Calc auf Kriegsfuß. Die Gelegenheit für einen kleinen Workshop, wie wir eine Anwender-freundliche Vorlage für die Zeiterfassung unserer internen und externen Mitarbeiter erstellen. Was hier kommt lässt sich mit Microsoft Excel genauso gut umsetzen.

Grundüberlegungen:

Ein Monat hat maximal 31 Tage und Anwender sind schreibfaul. Dazu kommt noch, dass die Autoausfüllen-Funktion von LibreOffice Calc oder Microsoft Excel auch die Formatierungen mit kopiert. Somit sind auch unschöne Änderungen der Formatierung zwangsläufig vorprogrammiert. Wir wollen dem Anwender die Arbeit so leicht wie möglich machen und ihn nicht zur Verzweiflung bringen. Der Anwender soll so wenig wie möglich ausfüllen müssen und den Rest übernehmen Formeln und Verweise.

Wir öffnen eine leere LibreOffice Calc Arbeitsmappe und tragen in Zelle A1 Name, Zelle D1 Pause, Zelle A3 Zeitraum, Zelle B3 von, Zelle D3 bis und Zelle A5 Kunde. In Zeile 7 tragen wir von Spalte A bis J folgende Spaltenüberschriften ein:

  • Tag
  • von
  • bis
  • Stunden
  • Pause
  • Kunde
  • Ort
  • Projekt
  • Tätigkeit

Die Anzahl der Tage eines Monats variiert von 28, bzw. 29, für den Februar bis zu 31 Tagen. Es sieht nicht schön aus, wenn am Ende der Liste noch 1 oder 3 Tage des nächsten Monats auftauchen. Also müssen wir uns etwas ausdenken, wie wir die überflüssigen Daten unterdrücken. In der Zeile A8 landet das Startdatum des Berichts. Somit ist es auch durchaus möglich, den Bericht erst am 15 eines Monats starten zu lassen.

Da wir für jeden Monat die gleiche Vorlage verwenden werden und diese dann unter einzeln abspeichern werden, werden soll der Zeitraum später in der Vorlage nicht angegeben werden. Das übernimmt der Anwender selbst. Also müssen wir überprüfen, ob in der Zelle C3 ein Wert steht und wenn nicht, soll das heutige Datum in Zelle A8 eingetragen werden. Um zu bestimmen, ob eine Zelle oder Bereicht leer ist, verwenden wir die Funktion ISTLEER(Wert). Mit der WENN Funktion prüfen wir ob der Wert Falsch, bzw 0, ist und verweisen dann auf die Zelle C3. Ansonsten fügen wir mit der Funktion HEUTE() das aktuelle Datum ein. Wir fügen also in Zelle A8 folgende Funktion ein:

Jetzt müssen wir nur noch dafür sorgen, dass die restlichen Zeilen in der Spalte Tag automatisch ausgefüllt werden. Wir müssen also die jeweils obere Zelle um den Wert 1 erhöhen. Das können wir mit der Funktion =$A$8+ZEILE(A9)-8 erledigen. Die Funktion ZEILE(Wert) gibt uns den Wert für die aktuelle Zeile wieder. Da wir in Zeile 9 erst starten, müssen wir den Wert 8 wieder abziehen, um auf das richtige Ergebnis zu kommen. Als Ausgangswert nehmen wir die Zelle A8. Damit beim Autoausfüllen nicht der Wert für die Ausgangszelle verändert wird, maskieren wir diesen mit dem „$“-Zeichen. Damit ist unsere Funktion aber noch nicht fertig.

Die folgenden Tage sollen alle im gleichen Monat sein, wie das Startdatum. Also müssen wir überprüfen, ob in den folgenden Zeilen dieses auch so ist. Wenn nicht soll eine leere Zelle angezeigt werden. Für diese Abfrage verwenden wieder die Funktion WENN und die Funktion MONAT. Also wenn Monat aktuelle Zelle gleich Zelle Start, dann zeige Datum an. Dafür fügen wir jetzt in Zelle A9 folgende Funktion ein:

Diese Funktion kopieren wir jetzt über die Autoausfüllen Funktion bis in Zeile 38. Dafür ziehen wir die Maus in die rechte untere Ecke der Zelle A9, drücken die linke Maustaste und halten die gedrückt und ziehen dann die Maus bin zur Zeile 38 herunter.

In der Spalte von tragen später unsere Anwender die Uhrzeit ein, zu der sie Ihre Arbeit begonnen haben. In der Zelle B8 müssen wir nicht eintrage. In Spalte C8 wird die Endzeit berechnet. Wir addieren also zur Endzeit die geleisteten Stunden und die unbezahlte Pause hinzu und prüfen vorher, ob in Zelle B8 ein Wert eingetragen wurde. Die Formel für Zelle C8 dafür ist relativ einfach:

Den Wert D8 müssen wir durch 24 Teilen, da hier der Anwender die Stunden als Dezimalzahl eingeben soll. Mit diesem Wert lässt es sich dann später auch leichter rechnen. Auch diese Formel kopieren wir wieder über die Autoausfüllen Funktion bis in die Zelle C38

In der Spalte Stunden (D8 bis D39) brauchen wir auch nicht einzugeben. Die Formel für die Spalte Pause ähnelt der Formel für die Stunden, nur das wir hier prüfen, ob der Wert für die geleisteten Stunden größer 5 ist. Darunter gehen wir davon aus, dass der Mitarbeiter keine Pause gemacht hat. In die Spalte E9 tragen wir die folgende Formel ein und kopieren diese bis zur Zelle E38.

Wie man unschwer erkennen kann, wird der Wert für die Spalte Pause aus der Zelle E1 genommen. Das gleiche Spiel machen wir jetzt für die Spalte Kunde mit der folgenden Formel.

In Zeile D39 können wir jetzt mit Hilfe des Symbols Σ die Summe über die Zellen D8 bis D38 bilden oder eine die folgen Funktion eingeben.

In Zeile D41 teile ich diesen Wert nochmal durch 24 und hinterlege als Zellenformat Zeit [hh]:mm. Die eckigen Klammern, welche die Formatierung für die Stunden umschließen, sind sehr wichtig, da ansonsten keine Stundenangabe über 24 Stunden angezeigt wird.

Damit unsere Anwender bequem die Auswahllisten für Ort, Projekt und Tätigkeit pflegen können, legen wir eine neue Tabelle an. Dazu klicken wir mit der rechten Maustaste auf das bestehende Tabellenblatt und klicken im Kontextmenü auf Tabelle einfügen….

Wir vergeben einen Namen für die Tabelle und klicken auf OK. In der neuen Tabelle tragen wir folgendes ein:

  • Zelle A1: Ort
  • Zelle C1: Projekt
  • Zelle E1 Tätigkeiten

Darunter können wir schon ein paar Musterdaten hinterlegen. Anschließend wechseln wir wieder in die Tabelle 1. Hier markieren wir die Zelle G8 und Klicken anschließend im Menü auf Daten und dann auf Gültigkeit…

Unter Zulassen wählen wir Zellbereich aus, markieren alle Optionen und wählen als Quelle über den Auswahldialog die neue Tabelle Stammdaten und dort den Zellbereich $A$2:$A$100 aus. Danach klicken wir auf OK.

Über die Autoausfüllen-Funktion kopieren wir die Dateneinstellungen über bis in Zelle G38. Das ganze wiederholen wir für die Spalten Projekt und Tätigkeit.

Wer nicht so viel Zeit investieren will, kann sich die Datei hier auch herunterladen.

 

Schreibe einen Kommentar

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