Excel-Formel für Datum und Uhrzeit, die den Zellenwert aufrundet

1

Ich erstelle einen Bericht mit Nutzungsstatistiken für ein Gruppenarbeitsraum-Reservierungssystem, das wir in der Bibliothek verwenden, in der ich arbeite. Ich habe im letzten Jahr alle Reservierungen aus MySQL in Excel exportiert und versuche, einen Durchschnittswert für alle geplanten Reservierungen zu ermitteln.

Die Formel, mit der ich die Differenzen zwischen der Start- und Endzeit jeder Reservierung berechne (=TEXT[end_time]-[start_time],"h:mm"), funktioniert prima, aber ich habe ein Problem. Die Endzeiten für die Reservierungen werden mit 00:29 Uhr angegeben, wenn eine halbe Stunde vergangen ist, und mit 00:59 Uhr, wenn eine halbe Stunde vergangen ist.

Ich habe ein paar tausend Zeilen in meiner Tabelle und möchte nicht auf Suchen & Ersetzen zurückgreifen, um diese Werte in 00:30 und 00:00 zu ändern. Gibt es eine Möglichkeit, meine Formel so zu ändern, dass sie die Endzeit aufrundet, oder möglicherweise eine Minute zur Endzeit in der Formel hinzufügt?

jkneip
quelle
Ich hoffe wirklich, Sie meinen, Ihre Formel ist, =TEXT([end_time]-[start_time],"h:mm)weil die offene Klammer vor Gleichheit im Allgemeinen nicht funktioniert.
Iszi
Es ist auch ein wenig seltsam, dass Ihre Formeln 29 und 59 Minuten zurückgeben. Nach eigenen Stichprobentests sollte es bei Beginn und Ende der Besprechungen zu anderthalb Stunden gerade 30 und 60 sein. Vielleicht enthalten die Daten aus Ihrer Datenbank Sekunden? Stattdessen könnten wir das umgehen.
Iszi

Antworten:

1

Bearbeiten basierend auf Iszis Kommentar:

end_time - start_time + TIME(0,1,0)

Dokumentation für die TIME () Funktion

Ursprüngliche Antwort:

Sie können Ihrer Berechnung von end_time - start_time 1 Minute hinzufügen, indem Sie feststellen, dass in Excel 1 Tag gleich der Ganzzahl 1 ist. Ihre Formel würde also ungefähr so ​​aussehen:

end_time - start_time + 1/24/60

(Teilen durch 24 Stunden und 60 Minuten).

Ernie
quelle
Ohne die Berechnung selbst durchführen zu müssen, könnten Sie dies +TIME(0,1,0)stattdessen tun .
Iszi
1

Sie könnten es ohne Mathe tun. Für die Startzeit in A1 und die Endzeit in B2:

=SUBSTITUTE(SUBSTITUTE(TEXT(B1-A1,"h:mm"),":29",":30"),":59",":00")

SUBSTITUTE ist eine ziemlich einfache Textsubstitutionsfunktion. Es erfordert drei Parameter:

  1. Original Text
  2. String, der ersetzt werden soll.
  3. Ersatzschnur.

SUBSTITUTE ersetzt nur Text, wenn eine Übereinstimmung mit Parameter 2 vorliegt , und ersetzt dann nur den übereinstimmenden Text. Der Rest der Zeichenfolge bleibt in Ruhe, und Zeichenfolgen, die überhaupt keine Übereinstimmung aufweisen, bleiben unberührt.

Ausgehend von Ihrer Frage beginnen wir oben mit der ursprünglichen Zeitberechnung. Das wird an ein SUBSTITUTE übergeben, das nach ": 29" sucht und durch ": 30" ersetzt. (Wenn ": 29" nicht gefunden wird, wird nichts unternommen.) Die resultierende Zeichenfolge wird an das äußerste SUBSTITUTE übergeben, das nach ": 59" sucht und bei Bedarf durch ": 00" ersetzt.

Iszi
quelle
0

Wenn Ihre Start- und Endzeiten genau auf den Stunden und der halben Stunde liegen, sollten Ihre Formeln keine Dauer von 29 oder 59 Minuten zurückgeben. Ich gehe davon aus, dass es möglich ist, dass der Datenbankexport auch einige Sekunden Zeit enthält. Wir können Sekunden vollständig eliminieren und die Dauer, die Start / Ende voraussetzt, in jeder Minute auf null Sekunden festlegen, wie folgt:

(Start ist in A1. Ende ist in B1)

=TEXT(TIME(HOUR(B1),MINUTE(B1),0)-TIME(HOUR(A1),MINUTE(A1),0),"h:mm")

UHRZEIT ist eine Funktion, mit der anhand der angegebenen Stunden, Minuten und Sekunden eine hervorragende "Seriennummer" generiert und anschließend in einem Standardzeitformat angezeigt wird. Unter "Seriennummern" versteht man, wie Excel Datums- / Zeitwerte im Backend speichert. Wenn Sie so etwas wie 8/1/2014 15:26:57in einer Zelle sehen, die für die Formatierung von Datum und Uhrzeit konfiguriert wurde, speichert Excel den Wert tatsächlich als 41852.64372- dies stellt die Anzahl der Tage dar (wobei der Dezimalteil ein Bruchteil eines Tages ist), da dies ungefähr 1/1/1900 0:00:00(etwas komplizierter) ist als das, aber das ist schon mehr als Sie wissen müssen).

HOUR und MINUTE sind Funktionen (ja, es gibt eine SECOND - und eine DAY, MONTH und YEAR, wenn Sie sie benötigen), die ihre jeweiligen Teile von einer Datums- / Zeitseriennummer zurückgeben.

Also nehmen wir oben die Zeiten von A1 und B1, setzen die Sekunden von jedem von ihnen auf Null und nehmen dann die Subtraktion vor.

Iszi
quelle
Ich nahm an, dass die Startzeiten alle auf die Stunde oder halbe Stunde (z. B. 0 oder 30) lauten und die Endzeiten eine Minute früher (z. B. 29 und 59), wahrscheinlich aufgrund der Funktionsweise der Planungssoftware (keine Überlappung) Start / Stopp).
ernie
Ich kann es den Details hier nicht mit Sicherheit entnehmen, also ist alles möglich. Es gibt ungefähr dreißig verschiedene Möglichkeiten, diese Katze zu häuten.
Iszi