Stunden zwischen zwei Uhrzeiten in Excel berechnen: Die ultimative Anleitung
Das Berechnen der Zeitspanne zwischen zwei Uhrzeiten ist eine der häufigsten Aufgaben in Excel – sei es für Stundenzettel, Projektzeiterfassungen oder Schichtpläne. Da Excel Zeit intern als Bruchteil eines Tages speichert (1 Tag = 24 Stunden = der Wert 1), kann es dabei schnell zu Verwirrungen oder Formatierungsfehlern kommen.
In dieser Anleitung lernst du Schritt für Schritt, wie du Stunden korrekt berechnest – sowohl im Zeitformat als auch in Dezimalstunden und inklusive Nachtschichten (über Mitternacht hinaus).
1. Die Grundformel (Innerhalb desselben Tages)
Wenn die Start- und Endzeit am selben Tag liegen (z. B. 08:00 bis 16:30 Uhr), ist die Berechnung eine einfache Subtraktion: Endzeit minus Startzeit.
Beispiel:
- A2 (Startzeit):
08:00 - B2 (Endzeit):
16:30
Variante A: Ergebnis als Uhrzeit darstellen (z. B. 08:30)
Gib in Zelle C2 folgende Formel ein:
=B2 - A2
- Formatierung: Formatiere die Zelle C2 als Uhrzeit (
hh:mm). - Ergebnis:
08:30(8 Stunden und 30 Minuten).
Variante B: Ergebnis als Dezimalzahl darstellen (z. B. 8,5 Stunden)
Wenn du mit den Stunden weiterrechnen möchtest (z. B. Stundenlohn berechnen), benötigst du eine Dezimalzahl. Multipliziere das Ergebnis einfach mit 24:
=(B2 - A2) * 24
- Formatierung: Ändere das Format der Zelle auf „Zahl“ oder „Standard“ (nicht als Uhrzeit belassen, sonst zeigt Excel
12:00an!). - Ergebnis:
8,5
2. Das Problem mit der Mitternacht (Nachtschichten)
Wenn eine Arbeitszeit über Mitternacht hinausgeht (z. B. von 22:00 Uhr bis 06:00 Uhr), schlägt die einfache Formel fehl. Excel zeigt entweder eine Fehlermeldung wie ###### (weil negative Zeiten standardmäßig nicht dargestellt werden können) oder ein falsches Ergebnis.
Hier gibt es zwei Lösungen:
Die eleganteste Lösung: Die REST-Funktion (MOD)
Die mathematische Rest-Funktion löst das Problem des Tageswechsels automatisch:
-
Als Zeitformat:
=REST(B2 - A2; 1)(Zelle als
hh:mmformatieren) -
Als Dezimalzahl:
=REST(B2 - A2; 1) * 24(Zelle als
Zahlformatieren)
Warum funktioniert das? Wenn das Ergebnis negativ ist, addiert die REST-Funktion intern einen ganzen Tag (1) hinzu und korrigiert so den Zeitsprung automatisch.
Die Alternative: Die WENN-Funktion
Falls du keine mathematischen Funktionen nutzen möchtest, kannst du abfragen, ob die Endzeit kleiner ist als die Startzeit:
=WENN(B2 < A2; (B2 + 1) - A2; B2 - A2)
Für Dezimalstunden das Ganze einklammern und mit 24 multiplizieren:
=WENN(B2 < A2; (B2 + 1) - A2; B2 - A2) * 24
3. Zeiten summieren (Die 24-Stunden-Falle vermeiden)
Wenn du die Stunden einer ganzen Woche zusammenrechnest, gibt es eine klassische Excel-Falle: Erreicht die Summe 24 Stunden, springt die Anzeige wieder auf 00:00 zurück.
So verhinderst du den Fehler:
- Berechne deine Summe ganz normal:
=SUMME(C2:C6) - Klicke mit der rechten Maustaste auf die Zelle und wähle „Zellen formatieren…“.
- Wähle die Kategorie „Benutzerdefiniert“.
- Trage im Feld „Typ“ Folgendes ein:
(Die eckigen Klammern
[h]zwingen Excel dazu, Stunden über 24 hinaus weiterzuzählen, statt den Tag neu zu beginnen).
4. Praxisfall: Pausenzeiten abziehen
In der Realität muss oft noch eine unbezahlte Pause (z. B. 45 Minuten) abgezogen werden.
- A2: Startzeit (
08:00) - B2: Endzeit (
17:00) - C2: Pause (
00:45)
Formel für Dezimalstunden (Arbeitszeit):
=(B2 - A2 - C2) * 24
(Bei Nachtschichten: `=(REST(B2 - A2; 1) - C2) 24`)*
Schnelle Übersicht (Spickzettel)
| Fall | Formel (Ausgabe in Dezimal: z.B. 8,5) | Zellenformat |
|---|---|---|
| Normal (Tag) | =(Ende - Start) * 24 |
Zahl |
| Über Mitternacht | =REST(Ende - Start; 1) * 24 |
Zahl |
| Mit Pause | =(REST(Ende - Start; 1) - Pause) * 24 |
Zahl |
| Summe > 24 Std. | =SUMME(...) |
Benutzerdefiniert: [h]:mm |