Zeitabhängige Datensätze sortieren und angleichen
#1
Hallo zusammen!

Ich habe zwei sehr große Datensätze (importiert aus csv Dateien) die jeweils zeitlich korrelierte Werte enthalten. (Also nach dem Schema, Zum Zeitpunkt X hat die Variable Y den Wert Z) Das sind Datensätze, die aus zwei verschiedenen Sensoren exportiert wurde.
Mein Problem ist nun: Der eine Sensor hat im Minutentakt jeweils zur vollen Minute Werte aufgezeichnet, der andere leider mehr oder weniger in zufälligen Zeitintervallen. Größtenteils alle 15 Sekunden, manchmal aber auch 10 Werte pro Minute. Insgesamt habe sich 10.000 Datenpunkte bzw. 3.000 Datenpunkte bei den beiden angesammelt. Diese Daten muss ich aber eigentlich miteinander verrechnen und dementsprechend zeitlich irgendwie synchron bekommen. Bei 10000 Werte ist es aber nicht realistisch, von Hand alle Werte auszusortieren, die nicht zur vollen Minute aufgezeichnet wurden (bzw. nur die Werte rauszukopieren, die jeweils zur vollen Minute gehören).
Hat da vielleicht jemand einen Trick, wie ich die Daten sortiert bekomme?

Von der Gestalt her sieht das grundsätzlich etwa so aus (10000 Zeilen untereinander :D):

09.06.2020  11:07:11 | 00:00:00 | 0,6584 | 0,3856
09.06.2020  11:07:16 | 00:00:15 | 0,7894 | 0,3585

Vielen Dank schonmal!
Gruß Tim
Top
#2
Hallo,

es gibt viele Varianten, aber relativ wäre den Datensatz nach Spalte 3 zu sortieren und alle Datensätze, die ungleich "00:00:00" sind, zu löschen.

mfg
Top
#3
(17.06.2020, 13:00)Fennek schrieb: Hallo,

es gibt viele Varianten, aber relativ wäre den Datensatz nach Spalte 3 zu sortieren und alle Datensätze, die ungleich "00:00:00" sind, zu löschen.

mfg

Ich nehme an, du meinst die zweite Spalte (Datum/Uhrzeit stehen jeweils zusammen in einer Zelle)? Die zweite Spalte zählt jedoch hoch bis auf insgesamt 31 : 27 : 16 also etwa 31,5 Stunden. Nach deiner Methode lösche ich damit alles außer dem allerersten Wert. Ich hab mir überlegt, irgendwie nur Werte rauszuziehen, die in den letzten beiden Stellen der zweiten Spalte (also die Sekunden) Null sind. Allerdings habe ich keinen Schimmer wie ich das für 10.000 Zeilen automatisiert bekomme...
Ich habe die Filterfunktion gefunden, aber ich bin mir nicht sicher, wie das Argument aussehen muss, damit nur ganze Minuten ausgegeben werden (Ich vermute irgendwas mit "Endet Auf: XX:YY:00).
Ich sollte vielleicht noch deutlich machen, dass ich jeweils die ganze Zeile brauche, wenn in der zweiten spalte eine volle Minute steht.
Top
#4
ist es möglich eine kleine Beispieldatei mit ca 2-3 "00:00:00"-Werten hochzuladen?
Top
#5
Jau kein Problem. Ich habe exemplarisch für die ersten 5 Minuten die Werte markiert, die mich interessieren würden. Ich bräuchte dann jeweils die gesamte Zeile in der der Wert steht. Mir ist gerade noch aufgefallen, dass die Werte auch nicht immer exakt zur Vollen Minute kommen, sondern teils auch mal bei hh:mm:59 Sekunden oder hh:mm:01 Sekunden. Ich müsste also wegen mir alle zeilen rauskopieren wo die Werte der zweiten Spalte auf 59, 00 oder 01 enden (so stelle ich es mir zumindest momentan in meinem Kopf vor Undecided ).

Wie man sieht, sind die Werte anfangs noch schön alle 15 Sekunden und hinten raus wird es dann sehr chaotisch.


Angehängte Dateien
.xlsx   Beispieldatei TimK.xlsx (Größe: 11,26 KB / Downloads: 5)
Top
#6
in E3:

Code:
=SEKUNDE(B3)

und per Doppelklick nach unten kopieren.

In LibreOffice gibt es das Format "Wahrheitswert", das direkt "wahr" oder "falsch" ausgibt.

Also sortieren und die nicht-gewünschten löschen.
Top
#7
Oh das hat gepasst! Jetzt kann ich über die Filterfunktion jeweils nur den interessanten Zeitbereich anzeigen. Vielen Dank! Wieder was gelernt  :19:
Top
#8
Ich hab mich die letzen Tage nochmal etwas näher mit der Geschichte beschäftigt und mich gefragt, ob es möglich ist, die Befehle "=sekunde()=Minute()=Stunde()" irgendwie so zu verwenden, dass jeweils über 59 hinaus gezählt wird.
Also von 0-1 Minute würde der Befehl =sekunde() ja jeweils werte zwischen 0 und 59 rausgeben. Kann ich es so deichseln, dass im Intervall von 1-2 Minuten dann nicht wieder 0-59 sekunden stehen sondern 61-120 usw.?
Oder um es ein wenig direkter zu bezeichnen: Kann ich die Daten so filtern, dass aus jeder Minute in meiner Liste exakt ein Wert genommen wird? Also wenn in einer Minute irgendwo mehr als eine Zeile geschrieben wurde, dass ich alle rauswerfe außer der ersten z.B.. Die Methode mit dem =sekunde() Befehl funktioniert zwar recht gut, aber ist immer noch seeeehr viel arbeit wenn ich die 2000 Zeilen, die nach dem Filtern über bleiben von Hand weiter sortieren muss.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste