Zeiten in Excel sortieren?
Hallo,
ich habe eine Excel Datei, welche ich in Google Tabellen bearbeiten möchte.
Ich habe eine Spalte mit dem Format "JJJJ-MM-TT Stunde: Minute: Sekunde: Millisekunden"
Mein Ziel ist es, die Verschdenen Zeiten (Nur nach Stunden) zu Sortieren. Also das ich am ende ein Diagramm erstellen kann oder mir angezeigt wird, wie viele Leute bspw. um 12 Uhr, 15 Uhr oder 02 Uhr sind.
Wie kann ich erstmal die Sachen trennen um die Stunden zu haben und dann so sortieren, dass ich daraus ein Diagramm erstellen kann?
Dankeschön schonmal im voraus!
P.S. Einzeln zählen wird schwierig, da es viele Zeilen sind.
Die Spalte, in welcher das Datum und die Uhrzeit stehen, ist als Text Formatiert gewesen. Wurde mir leider erst danach klar.
2 Antworten
Das geht so
- Du machst eine neue Spalte "Uhrzeit".
- Du schreibst dort den Rest bei der Division mit 1 rein (Die Uhrzeit in ein Teil von 1)
- Du formatierst diese neue Spalte mit HH:MM:SS (oder HH:MM)
- Sortierst anschließend nach der Spalte "Uhrzeit".
Anmerkung: Die Formel MOD(...) war in meiner ersten Antwort nicht enthalten und daher hätte das auch nicht geklappt.

Ja, dann dürfte es als Text formatiert sein und nicht als Zeitangabe.
Wenn es Text ist, ist alles, was man mit Datum und Uhrzeiten normalerweise in einer Tabellenkalkulation machen kann, Makulatur. Datum und Uhrzeiten sind Zahlen in einer Tabellenkalkulation. Ein Datum ist schlicht eine Ganzzahl, gezählt seit einem Stichtag (bei Excel ist das der 1.1.1900 als Tag 1) und Uhrzeiten sind Teile von 1. Beispielsweise entspricht der Wert 0,75 der Uhrzeit 18:00 Uhr).
Habe die Spalte als "Zahl" formatiert und es geht trotzdem nicht.
Das hilft keinesfalls mehr etwas. Die nachträgliche Formatierung einer Zelle bewirkt keine Konvertierung des Datentyps, also bleibt das Text.
Das mit der Zahl verstehe ich. Ich verstehe nur nicht, warum es bei mir nicht klappt. Habe das Format für die Spalte auf Zahl, Uhrzeit und Datum/Uhrzeit gestellt. Bei keinem dieser Formate geht es.
Als Möglichkeit das Datum zu extrahieren würde mir spontan nur eine Kombination aus verschiedenen Formeln einfallen. Das setzt allerdings voraus, dass der Text immer komplett identisch aufgebaut ist - also die anzahl der zeichen, etc.
=DATUM(WERT(LINKS(A1;4));WERT(TEIL(A1;6;2));WERT(TEIL(A1;9;2)))+ZEIT(WERT(TEIL(A1;12;2));WERT(TEIL(A1;15;2));WERT(TEIL(A1;18;2)))
Lies meinen letzten Kommentar nochmal. Die Formatierung ist sinnlos, wenn Du eine Konvertierung des Datentyps brauchst, damit da Zahlen stehen.
Oh verstehe. Heißt, ich kann nichts mehr damit machen?
Doch natürlich kann man was machen, aber man hätte von Anfang an wissen sollen, dass der Datentyp "Text" ist, was Du als Eingangsdaten hast und man erst in ein echtes Datum und die zugehörige Uhrzeit mit TEXT() und WERT() umwandeln muss.
Ich wusste nicht, dass es als Text Formatiert ist. Aber du hast Recht, es war mein Fehler es falsch zu beschreiben. Ich habe eben das Datum und die Uhrzeit gesehen und für mich war das dann eben ein Datum und eine Uhrzeit. Ist schon etwas her, dass ich mit Excel bzw. Google Tabellen etwas zu tun gehabt habe.
Also: Google Sheets kann das mit
=WERT(LINKS(A1;LÄNGE(A1)-5))
als Zahl darstellen. Excel (zumindest die kostenlose Online Version) kann das überhaupt nicht (Standards haben Microsoft schon oft nicht sonderlich interessiert) und LibreOffice Calc kriegt es mit Löschung nur des abschließenden "Z" hin - also mit
=VALUE(LEFT(A1;LEN(A1)-1))
Wow! Hat funktioniert und habe jetzt die Uhrzeit als HH:MM stehen. Vielen lieben Dank, dass du und @JayRaa euch damit beschäftigt habt und mir geholfen habt!
Könnte man die Stunden und Minuten nochmal teilen oder wäre das zu aufwendig?
Neue Spalten und jetzt, da es eine Zahl ist, wenn es referenziert wird, als =B1 (also die Spalte referenzieren, in der die erste Formel steht) und mit HH oder MM formatieren. Je nachdem, was gewünscht ist.
Es ist mir jetzt schon etwas unangenehm nochmal nachzufragen, aber wie kann ich dann die Häufigkeit der Stunden bestimmen?😅 Also ich habe jetzt eine Spalte nur mit den Stunden. Im Endeffekt möchte ich wissen, wie oft bspw. Stunde 12 vorkommt.
Es ist mir jetzt schon etwas unangenehm nochmal nachzufragen
... dafür gibt es keinen Grund.
Auf die Schnelle zum Beispiel unter der Annahme, dass die Stundenwerte in Spalte B in den Zeilen 1 bis 10000 stehen, mit der Matrixfunktion
=SUMPRODUCT(COUNTIF(TEXT(B1:B10000;"HH");"12"))
wobei das SUMPRODUCT keinerlei Funktion hat, außer, dass es die Matrix- Evaluation erzwingt. Hier fängt es aber langsam an, dass sich die verschiedenen Tabellenkalkulationen unterscheiden können. Da müsste ich dann etwas länger testen (Ich nutze eigentlich nur LibreOffice Calc und ein "echtes und vollständiges" Excel habe ich erst gar nicht zur Verfügung. Die Funktionstüchtigkeit obiger Formel habe ich auch erstmal nur unter Calc geprüft).
(Dazu musst Du dann aber die Extraspalten mit HH und MM nicht machen, da die Formel das dann schon erledigt mit der Formatangabe "HH")
Vielen Dank. Habe versucht, das im Internet zu finden und bin fast verrückt geworden. Hat alles funktioniert 👍
Ich danke dir, dass du dir die Zeit genommen hast, mir so umfangreich zu helfen :)
Wollte das mal testen, da ich die Formel MOD() nicht kenne. Gibt es in meiner Excelversion leider nicht. Welche nutzt du? oder hast du ggf. eine andere Sprache?
Benutze REST(), diese Sheets ist echt doof. Man schreib REST(...) rein und wenn man sich dann mit FORMULARTEXT anzeigen lässt, was drin steht, sagt es MOD.
(Ein Grund, warum ich eigentlich nur englischsprachige Funktionsnamen verwenden will. Die babylonische Sprachverwirrung kann man so gar nicht brauchen, wenn es um Programmierung im weiteren Sinne geht).
Funktioniert. Danke dir.
Habe eine Zeit lang ein Add-on benutzt, welches nur mit englischen Formeln arbeiten konnte, daher kenne ich auch viele englische, aber diese ist mir neu. Wieder etwas dazu gelernt.
Der einfachste Weg wäre über eine Hilfsspalte mit der Angabe der Stunde und diese dann zu sortieren. Diese kannst du über die Formel =Stunde(A1) auslesen. A1 wäre hier die Zelle mit der Zeitangabe.
Ich verstehe den 2. Punkt leider nicht ganz. Bei mir kommt #Value raus. Liegt es evtl. daran, dass auch text drin steht? Es sieht exakt so aus: 2024-05-07T06:46:53.759Z