❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Zeiten mit unregelmäßigem Abstand subtrahieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
klumbo
Beiträge: 3
Registriert: Mo 23. Nov 2015, 16:10

Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von klumbo » Mo 23. Nov 2015, 16:34

Hey Leute,

ich habe ein Problem, bei dem ich nicht weiterkomme und hoffe jemand kann mir hier helfen. Gerne auch mit Verweisen auf schon existierende Thread o.ä. , ich habe bis jetzt leider nichts finden können.

Ich habe eine Tabelle mit mehreren Spalten, wobei eine davon, bspw. "A" eine Zeitangabe im Format HH:MM:SS.00 ist. Ich möchte nun eine Zeit1 von einer Zeit2 subtrahieren, und zwar wenn in Spalte C für Zeit1 "x" steht und für Zeit2 "y", sodass ich eine neue Spalte habe, in der der Zeitabstand zwischen den zwei Punkten angezeigt wird, wenn die Bedingungen erfüllt sind.
Soweit kein Problem, der Abstand zwischen der Bedingung "x" und der Bedingung "y" ist nun aber unregelmäßig, das heißt manchmal liegen 10, mal auch 14 zeilen dazwischen. Funktionen mit relativem Bezug, der heruntergezogen wird, funktionieren also nicht, jedenfalls weiß ich nicht wie ;)


Für Lösungsvorschläge wäre ich sehr dankbar!

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von mikele » Mo 23. Nov 2015, 20:29

Hallo,

gibt es nur ein x und ein y in der Spalte C oder mehrere Paare? Hast du mal eine Beispieldatei?
Gruß,
mikele

klumbo
Beiträge: 3
Registriert: Mo 23. Nov 2015, 16:10

Re: Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von klumbo » Di 24. Nov 2015, 17:31

Hey mikele,

danke für deine Antwort.

Nein, in den Tabellen tauchen viele x und y auf und es gibt zu viele Zeilen um das mit der Hand zu bearbeiten.

Hier mal eine anonymisierte Beispieldatei, ich hoffe es hilft :)
Beispiel_für_Forum.ods
(101.47 KiB) 116-mal heruntergeladen

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von Pit Zyclade » Di 24. Nov 2015, 19:23

1. Rückfrage: Müssen nicht immer x und y paarweise vorkommen? Denn zwischen Satz 428 und 441 findet sich kein y !
2. Rückfrage soll immer Spalte E (x) - Spalte D (y) gebildet werden oder was? Übrigens ist Spalte D ohnehin gleich Spalte B im Falle eines Eintrags. Soll Spalte D nur als Startereignis gewertet werden?

Wenn ich überhaupt die Aufgabe verstehe, ich würde einfach eine Sortierung nach Spalte A (Datum) , Spalte B (Zeit) vornehmen, dann eine Standardfilterung nach Spalte C = x oder Spalte C = y. So stehen alle Ereignisse, die interessieren zeitlich sortiert.
Danach kann man stets eine Zeitdifferenz von Spalte E in jeder der Zeilen (ich nenne sie mal "a") bilden, wenn in Spalte C = y besteht, zur Zeile (a-1) Spalte D (in C muß dann m.W. x stehen, sonst irgendwo Fehler)
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

klumbo
Beiträge: 3
Registriert: Mo 23. Nov 2015, 16:10

Re: Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von klumbo » Mi 25. Nov 2015, 15:04

Hey Pit,

erstmal zu deinen Rückfragen;
Pit Zyclade hat geschrieben:1. Rückfrage: Müssen nicht immer x und y paarweise vorkommen? Denn zwischen Satz 428 und 441 findet sich kein y !
2. Rückfrage soll immer Spalte E (x) - Spalte D (y) gebildet werden oder was? Übrigens ist Spalte D ohnehin gleich Spalte B im Falle eines Eintrags. Soll Spalte D nur als Startereignis gewertet werden?
zu1: x und y müssen nicht paarweise vorkommen. Um die Rechnung zu machen müssen sie paarweise vorkommen, aber tatsächlich muss es im Datensatz nicht so sein (wie du ja festgestellt hast). Das heißt es kann in den Daten ein x kommen, ohne dass ein y folgt. Daher kann hier keine Rechnung vorgenommen werden, was die Sache nicht gerade vereinfacht.
zu2: Sorry, ich hatte für dieses Beispiel Spalte D und E kommentarlos mit Formeln hinzugefügt, einfach um klar zu machen, welche Zeiten (die mit x oder y in C) interessant sind.
Pit Zyclade hat geschrieben:Wenn ich überhaupt die Aufgabe verstehe, ich würde einfach eine Sortierung nach Spalte A (Datum) , Spalte B (Zeit) vornehmen, dann eine Standardfilterung nach Spalte C = x oder Spalte C = y. So stehen alle Ereignisse, die interessieren zeitlich sortiert.
Danach kann man stets eine Zeitdifferenz von Spalte E in jeder der Zeilen (ich nenne sie mal "a") bilden, wenn in Spalte C = y besteht, zur Zeile (a-1) Spalte D (in C muß dann m.W. x stehen, sonst irgendwo Fehler)
An so einen simplen Weg hatte ich noch gar nicht gedacht. Habe das ganze gerade ausprobiert und das funktioniert einwandfrei. Man kann dann in E eine einfache, wie von dir beschriebene Formel einfügen.
Vielen Dank also erstmal für diesen Lösungsansatz! :)
Ein Problem habe ich allerdings noch, und zwar dass es einigermaßen umständlich ist, da sehr viele Tabellen in so einer Art und Weise zu behandeln wären. Bis jetzt sind es grob so 100 Stück und es kommen jeden Tag 7 dazu. Es wäre also sehr viel handlicher eine Formel zu finden, die in einer Vorlage verwendet wird, in der der Datensatz dann täglich eingelesen wird. Dann bräuchte man nicht mit 7 Tabellen täglich diese Prozedur durchführen ;)
Wenn du dafür noch ne Idee hättest, trinke ich aus dank das Feierabendbier auf dich!

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: Zeiten mit unregelmäßigem Abstand subtrahieren

Beitrag von HeritzP » Mi 25. Nov 2015, 19:49

Hallo,

eine Matrixformel zum Testen. Sie muss mit Strg-Shift-Enter abgeschlossen, oder im Formeleditor als Matrix markiert werden.

Code: Alles auswählen

=KKLEINSTE(WENN($C$1:$C$3842="y";$B$1:$B$3842);ZEILE(A1))-MAX(WENN((KKLEINSTE(WENN($C$1:$C$3842="y";$B$1:$B$3842);ZEILE(A1))>$B$1:$B$3842)*($C$1:$C$3842="x");$B$1:$B$3842))
Bei vielen Zeilen ist die Matrixformel eine Performance Bremse.

Die Formel kann auch aufgeteilt werden. Für y Werte in F1.

Code: Alles auswählen

=KKLEINSTE(WENN($C$1:$C$3842="y";$B$1:$B$3842);ZEILE(A1))
und für X Werte.

Code: Alles auswählen

=MAX(WENN(($F1>$B$1:$B$3842)*($C$1:$C$2842="x");$B$1:$B$3842))

Beides sind Matrixformeln.




Gruß HeritzP
HeritzP

alles nur geklaut


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten