Ich habe eine Tabelle mit zwei Spalten. A enthält die Schlafenszeit (Zeit, in der ich zu Bett gegangen bin) und B enthält die Weckzeit (Zeit, in der ich aufgewacht bin). Wie könnte ich den Durchschnitt der Schlafenszeit und der Wachzeit berechnen?
Zum Beispiel;
A = 23:45 Uhr, 23:00 Uhr, 00:15 Uhr, 00:45 Uhr, 12:00 Uhr
B = 6:00 Uhr, 5:00 Uhr, 5:30 Uhr, 7:00 Uhr, 6:00 Uhr
Wie würde man auch die Gesamtschlafzeit zwischen den Zeilen berechnen? Die typische Durchschnittsformel in Excel wird verworfen, selbst wenn ich in das 24-Stunden-Format konvertiere. Irgendwelche Ideen wären sehr dankbar.
Antworten:
Wenn Sie das Datum mit der Uhrzeit angeben, können Sie einfach wie normale Zahlen subtrahieren und mitteln. Die Zahlenformatierung ist jedoch wichtig, damit die Daten korrekt angezeigt werden.
Zum Beispiel:
Die Formel in Zelle C2 lautet = B2-A2, und die Formel für die Durchschnittswerte in Zelle A7 lautet = MITTELWERT (A2: A6).
Benutzerdefinierte Zahlenformatierung für Spalte C: verwendet h "hrs" mm "min" und Spalten AB verwendet m / d / yyyy h: mm AM / PM . Zellen A7 und B7 den Standard verwenden Zeitzahlenformat.
quelle
=AVERAGE(A2:A6)
Sie geben können , Ein gültiges Ergebnis im gezeigten Beispiel, aber was ist, wenn Zeile 6 nicht vorhanden ist=AVERAGE(A2:A5)
? Die Mittelung dieser Werte ist problematisch, da Sie das Datum in den Durchschnitt einbeziehen.So tun Sie dies genau, ohne Daten hinzufügen zu müssen:
Wie @ barry-houdini in einem Kommentar erwähnt hat, müssen Sie, um die "Schlafstunden" zum Laufen zu bringen, verwenden,
MOD
da die Zeit um 12.00 Uhr / 24.00 Uhr "herumläuft ", was in der Tabellenkalkulationswelt 1 entspricht. Um das zu erreichen:C3:
=mod(B3-A3,1)
Sobald Sie die Dauern haben, ist der Durchschnitt einfach:
C2:
=AVERAGE(C3:C7)
Für die Durchschnittswerte der tatsächlichen Zeiten müssen Sie verwenden,
ARRAYFORMULA
wenn die Möglichkeit besteht, dass die Zeiten in einer Spalte um Mitternacht "umbrechen" müssen (dh, es gibt möglicherweise einige Werte auf der einen Seite und einige auf der anderen Seite). . Dafür haben wir:A2:
=ARRAYFORMULA(AVERAGE(if(A3:A7>0.5,A3:A7,A3:A7+1)))
Die obige Formel verwendet einfach jeden Wert im Bereich, prüft, ob er über 0,5 (Mittag) liegt, und addiert nicht 1, um ihn auf den nächsten Tag zu verschieben, und mittelt dann alle Werte. Die 0.5 geht davon aus, dass Sie nicht vor Mittag ins Bett gehen, aber wenn Sie einen ungewöhnlichen Zeitplan haben, können Sie diesen natürlich ändern.
Für den Durchschnitt der Weckzeiten ist das oben Genannte wahrscheinlich für die meisten Menschen nicht erforderlich, da Sie im Allgemeinen zwischen Mitternacht und Mitternacht am nächsten Tag aufwachen, sodass keiner Ihrer Werte "herumlaufen" muss. Das gesagt:
B2:
=AVERAGE(B3:B7)
So tun Sie dies genau mit Datumsangaben:
Durch das Hinzufügen von Daten werden die Probleme bei der Berechnung von Durchschnittswerten nur maskiert, da sowohl das Datum als auch die Uhrzeit für den Durchschnitt verwendet werden. Es berechnet die Zeit an einem bestimmten Tag, die der Durchschnitt aller Datums- und Zeitwerte ist. Das führt zu zwei Problemen:
Was Sie wirklich zu
TIMEVALUES
mitteln versuchen, ist das , also addieren wir das einfach zu jedem der Bereiche in den Formeln von oben:A2:
=ARRAYFORMULA(AVERAGE(if(TIMEVALUE(A3:A7)>0.5,TIMEVALUE(A3:A7),TIMEVALUE(A3:A7)+1)))
B2:
=ARRAYFORMULA(AVERAGE(TIMEVALUE(B3:B7)))
C2 muss sich nicht ändern, da es sich immer noch nur um Dauern und nicht um Daten handelt.
quelle