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?
=TEXT([end_time]-[start_time],"h:mm)
weil die offene Klammer vor Gleichheit im Allgemeinen nicht funktioniert.Antworten:
Bearbeiten basierend auf Iszis Kommentar:
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:
(Teilen durch 24 Stunden und 60 Minuten).
quelle
+TIME(0,1,0)
stattdessen tun .Sie könnten es ohne Mathe tun. Für die Startzeit in A1 und die Endzeit in B2:
SUBSTITUTE ist eine ziemlich einfache Textsubstitutionsfunktion. Es erfordert drei Parameter:
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.
quelle
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)
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:57
in einer Zelle sehen, die für die Formatierung von Datum und Uhrzeit konfiguriert wurde, speichert Excel den Wert tatsächlich als41852.64372
- dies stellt die Anzahl der Tage dar (wobei der Dezimalteil ein Bruchteil eines Tages ist), da dies ungefähr1/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.
quelle