Wie berechne ich ein Zeitdelta in meinen Google Spreadsheets?


73

Ich habe eine Google-Tabelle, die ungefähr so ​​aussieht:

 Date        | Start time  | End time    | Minutes
 ------------+-------------+-------------+-----------
 1/11/2012   | 11:39       | 12:41       | ?!
 ------------+-------------+-------------+-----------
             |             |             | 

Momentan, wenn ich die Anzahl der Minuten zwischen den beiden Tageszeiten von Hand eingebe. Gibt es eine einfache Möglichkeit, ein Zeitdelta zu berechnen, und lässt die Tabelle dies für mich tun?

Antworten:


65

Google hat ein neues Zahlenformat namens Duration hinzugefügt. Stellen Sie Ihre Start- und Endfelder auf Format -> Number -> Timeund Ihr Berechnungsfeld auf einFormat -> Number -> Duration

Anschließend können Sie die Felder subtrahieren, um die Differenz zu ermitteln, die Stefano Palazzo in seiner Antwort angegeben hat.


51

Ja, wenn Ihre Zeitfelder richtig formatiert sind (klicken Sie auf Format → Zahl → Zeit ), können Sie einfach Zeiten hinzufügen und subtrahieren:

=C2-B2

oder

21:58:00 - 20:44:00 = 1:14:00

Dies gibt Ihnen das Zeitdelta als HH:MM:SS. Und wenn Sie die Anzahl der Minuten berechnen möchten, können Sie die verwenden Hour(), Minute()und Second()Funktionen auf diesem Gebiet:

=(Hour(D2) * 60) + Minute(D2) + (Second(D2) / 60)

Wenn es Schaltsekunden gibt, sich die Zeitzone ändert oder ein Ereignis länger als 24 Stunden dauert, müssen Sie die Ergebnisse natürlich noch manuell anpassen.

Eine Warnung

Wenn sich ein Ereignis nach Mitternacht erstreckt, z. B. von 23:50 bis 00:10, wird dies als negative Zeit angezeigt!

Damit diese Ereignisse "richtig" behandelt werden, können Sie entweder "24:10" eingeben oder das Ereignis in zwei Teile aufteilen.

Ein besserer Weg

Obwohl es etwas schwieriger ist, Daten einzugeben, ist es am zuverlässigsten, das Anfangs- und Endfeld als "Datum und Uhrzeit" und das Deltafeld als "Stunden" zu markieren. Dies sieht folgendermaßen aus:

Beginning          End                  Delta
8/1/2013 0:00:00   8/2/2013 12:30:00    36:30:00

Dies scheint nicht mehr zu funktionieren. Ich denke, Sie müssen Format> Zahl> Stunden (vs. Zeit) wählen. Ich erhalte eine sehr ungerade Dezimalzahl, wenn ich versuche, die einfache Stundendifferenz zu subtrahieren.
Elijah Lynn

@ElijahLynn Diese ungerade Zahl gibt die Anzahl der Tage an. Durch Multiplikation der Zeiten 24 und 60 erhalten Sie die Anzahl der Minuten.
Jacob Jan Tuinstra

1
Wenn jemand Datum und Uhrzeit in einer Zelle abrufen möchte, kann er einfach durch Hinzufügen zusammenführen: A1 + B1.
Wzbozon

9

Wenn Sie die folgende Formel hinzufügen D2, werden die Minuten automatisch berechnet:

Formel

=ARRAYFORMULA(IF(ISBLANK(B2:B)=FALSE,((C2:C-B2:B)*24*60),""))

Erklärt

Die Differenz zwischen den Zeiten wird gemäß dem Dezimalformat in Tagen ausgedrückt. Multiplikationszeiten von 24 zu 60 ergeben daher Minuten

Anmerkung

Es gibt eine Voraussetzung: Spalte D muss als "normal" formatiert sein.

Beispiel

Siehe Beispieldatei, die ich erstellt habe: Delta Time


7

Für eine robustere Lösung verwenden wir eine benutzerdefinierte Funktion.

1. Hinzufügen der benutzerdefinierten Funktion

Verwenden des Skript-Editors (folgen Sie den Anweisungen in https://developers.google.com/apps-script/execution_custom_functions ) - schreibt:

function toEpoch (indate) {
  return indate.getTime();
}

2. Formular hinzufügen

Dann schreibt in die Zelle:

=(toEpoch(C2)-toEpoch(B2)) / 60*1000

Wobei die Differenz in Millisekunden in Minuten umgerechnet wird.


... Ich habe dies getan, um sicherzustellen, dass es konvertiert und bereits in Sekunden konvertiert wurde (von Millisekunden): function toEpoch (data) { return new Date(data) / 1000; }
user1278519

7

Ich habe viel experimentiert. Dies ist der einfachste Weg, um ein Zeitdelta in Google Spreadsheets zu berechnen. Formatieren Sie die Zelle mit der Formel wie folgt:

Formatierung der Formelzellen

Format> Zahl> Weitere Formate> Weitere Datums- und Uhrzeitformate , löschen Sie "Sekunde" und :. Dann formatieren Sie die Endzeit und Zeit Zellen wie folgt beginnen: h:mm am/pm.

Geben Sie die Formatierung der Zeitzellen ein

Verwenden Sie die Formel =abs(end time - start time). Dies gibt Ihnen einen absoluten Wert, sodass es keine negativen Zeitwerte gibt.



4

Wenn Sie möchten, dass Ihr Zeit-Delta in Tagen gemessen wird, verwenden Sie

=DAYS(end_date, start_date)

Das ist richtig. Ich bin jedoch hierher gekommen, um den Unterschied in Tagen zu finden (und bin später zurückgekommen, um eine Antwort zu geben, als ich sie an anderer Stelle gefunden habe), was mich zu der Annahme führt, dass meine Antwort anderen in derselben Situation zugute kommen könnte. Da es sich um ein ähnliches Thema handelt, hielt ich es nicht für sinnvoll, eine neue Frage zu eröffnen, zumal der Titel nicht die Maßeinheit angibt. Aber das war nur meine Überlegung. Was denkst du?
18.

@pnuts Wenn Sie eine Antwort finden, die nützlich ist, aber leicht vom Umfang der Frage abweicht, können Sie die Frage auch einfach bearbeiten (in diesem Fall Minuten, Stunden, Tage oder was auch immer). Ich bin nur ein Typ, die Frage hat 100.000 Aufrufe.
Stefano Palazzo

3

Sie können es auch versuchen TIMEVALUE().

In dem obigen Fall wäre die Lösung:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 Zeigt den Zeitunterschied in MINUTEN an.


Willkommen Sujeeth! Gute Antwort, ich habe einige Formatierungen hinzugefügt, um das Lesen zu erleichtern.
Vidar S. Ramdal

1

In Google Sheets habe ich die folgende Formel verwendet

=Round((hour(A2-A1)*60 + minute(A2-A1))/60,2)

um mir den Unterschied in Dezimalstunden zu geben.


0

Ich benutze diese Formel:

=HOUR(C2-B2)*60+MINUTE(C2-B2)

dann

Format -> Number -> More Formats -> Custom number format -> #,##0

-1

=(C2-B1)*1440 Stellen Sie dann das Format auf "Nur Text".


-1

Für meine persönliche Bewerbung:

StartTime (columnA)| EndTime(Column B)| Date (Column C)

Dies hat bei mir funktioniert:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);Formatieren Sie die Zelle als Format \ Time \ Duration.

Für den wahren Zustand: Formel inspiriert von Stefano Palazzos Kommentaren.


ps date wird mit StartTime verknüpft, auch wenn StopTime auf den nächsten Tag verschoben wird. Deshalb habe ich dem Datum für EndTime +1 hinzugefügt. Wenn Ihre EndTime um mehr als einen Tag verlängert wird, funktioniert +1 offensichtlich nicht mehr.
Bob K

-2

Ich bin damit einverstanden, dass das Zeit-Delta in Tagen ausgedrückt wird. Um zu den Minuten zurückzukehren, sollten Sie die Differenz mit 1440 multiplizieren, was 24 x 60 ist.

Ich hatte heute dieses Problem und dachte, ich würde die andere einfache Methode zum Abrufen der aktuellen Uhrzeit in einer Google Text & Tabellen-Tabelle erwähnen, indem ich sie CONTROL:in die Zelle eingebe. Sie können dies sowohl für die Start- als auch für die Endzeitzellen verwenden.

Wenn Sie das aktuelle Datum in eine Zelle eingeben müssen, geschieht dies mit CONTROL;


1
Danke fürs Teilen, aber es ist keine Antwort auf die Frage. Weitere Informationen finden Sie in unserer Hilfe . Willkommen bei Web Applications!
Jacob Jan Tuinstra
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.