Umsortieren einer Datum-/Zeitpunkt-Liste

(irgendwie hab ich wohl was falsch gemacht beim absenden, aber mein gestriger Beitrag erscheint nicht im Forum, daher nochmal ...)

Kurzbeschreibung:
Problem mit Suchlauffunktionen zum Umsortieren einer Datum-/Zeitpunkt-Liste

Liebes Forum,

ich beiße mir gerade mal wieder die Zähne aus mit einem Suchlauffunktionen-Problem:

Ein Rechenblatt mit Datumsangaben und zugehörigen Uhrzeiten mit zugehörigen Zahlenwerten in der Form:

Datum 1 | Uhrzeit 1.1 | Wert 1.1 | Uhrzeit 1.2 | Wert 1.2 | Uhrzeit 1.3 | Wert 1.3 | Uhrzeit 1.4 | Wert 1.4
Datum 2 | Uhrzeit 2.1 | Wert 2.1 | Uhrzeit 2.2 | Wert 2.2 | Uhrzeit 2.3 | Wert 2.3 | Uhrzeit 2.4 | Wert 2.4
Datum 3 | Uhrzeit 3.1 | Wert 3.1 | Uhrzeit 3.2 | Wert 3.2 | Uhrzeit 3.3 | Wert 3.3 | Uhrzeit 3.4 | Wert 3.4
...

soll umgebaut werden in die Form:

Datum 1 Uhrzeit 1.1 | Wert 1.1
Datum 1 Uhrzeit 1.2 | Wert 1.2
Datum 1 Uhrzeit 1.3 | Wert 1.3
Datum 1 Uhrzeit 1.4 | Wert 1.4
Datum 2 Uhrzeit 2.1 | Wert 2.1
Datum 2 Uhrzeit 2.2 | Wert 2.2
Datum 2 Uhrzeit 2.3 | Wert 2.3
Datum 2 Uhrzeit 2.4 | Wert 2.4
Datum 3 Uhrzeit 3.1 | Wert 3.1
Datum 3 Uhrzeit 3.2 | Wert 3.2
Datum 3 Uhrzeit 3.3 | Wert 3.3
Datum 3 Uhrzeit 3.4 | Wert 3.4
...

Erschwerend kommt hinzu, dass die Liste Lücken enthält, also z.B.

Datum 1 | | | Uhrzeit 1.2 | Wert 1.2 | Uhrzeit 1.3 | Wert 1.3 | Uhrzeit 1.4 | Wert 1.4
Datum 2 | Uhrzeit 2.1 | Wert 2.1 | Uhrzeit 2.2 | Wert 2.2 | | | Uhrzeit 2.4 | Wert 2.4
Datum 3 | Uhrzeit 3.1 | Wert 3.1 | Uhrzeit 3.2 | Wert 3.2 | Uhrzeit 3.3 | Wert 3.3 | Uhrzeit 3.4 | Wert 3.4
...

diese sollen in der Ergebnisliste einfach ausgelassen werden, sodass an manchem Datum überhaupt kein Eintrag und an manchen nur eben die vorkommenden Uhrzeiten aufgelistet werden.

Und, wie wenn das nicht schon schwierig genug wäre, kommen in der letzten Doppelspalte manchmal Uhrzeiten vor, wie "24:00 Uhr" oder die über 24:00 Uhr hinausgehen, also dem nächsten Tag zugeordnet werden müssen 8-()

Mein Ansatz war zunächst, eine "bereinigte" Tabelle in der folgenden Form anzulegen:

| | Datum 1 Uhrzeit 1.2 | Wert 1.2 | Datum 1 Uhrzeit 1.3 | Wert 1.3 | Datum 1 Uhrzeit 1.4 | Wert 1.4
Datum 2 Uhrzeit 2.1 | Wert 2.1 | Datum 2 Uhrzeit 2.2 | Wert 2.2 | | | Datum 2 Uhrzeit 2.4 | Wert 2.4
Datum 3 Uhrzeit 3.1 | Wert 3.1 | Datum 3 Uhrzeit 3.2 | Wert 3.2 | Datum 3 Uhrzeit 3.3 | Wert 3.3 | Datum 3 Uhrzeit 3.4 | Wert 3.4
...

Der Mitternachts-Überschlag konnte hier bereits erledigt werden.

An der Aufgabe, die Liste dann umzugruppieren, scheitere ich dann leider, trotz verschiedener verschachtelter Suchlauf-Ansätze, z.B. um wenigstens mal die ersten beiden Spalten zu übertragen:

VSuchlauf(Zwischenstand!$A$1:$A$56;1;0;HSuchlauf(Zwischenstand!$A:$B; NICHT IstLeer(LfdZelle);0;SetzeZelle(LfdZelle;Ziel!$A:$B)))

Zur Verdeutlichung hab ich das RagTime-Dokument (mit dem händisch angelegten Ziel - copy/paste/sort) beigefügt (in den Diskussionen zu finden - warum auch immer?), falls jemand Lust auf das Experiment hat.

Danke für jede Hilfe!

Liebe Grüße
Steffen

Re: Umsortieren einer Datum-/Zeitpunkt-Liste

#13861 On 7 Januar, 2025 18:46 Michael Vaerst said,

Ich hatte die Datei gesucht, die Du erwähnt hattest ... und habe sie jetzt gefunden: im Downloadbereich, unter "Ragtime 6" ...
denke aber, dass die Inhalte dieser Sparte eine andere Intention haben, obwohl man da geteilter Meinung sein kann, weil das Forum ja keine Dateianhänge zulässt ...

Nach Sichtung der Datei vielleicht soviel zum Guten:
Bei solch einer Struktur kann man natürlich nach einer (komplexen) universalen Formel suchen, man kann aber auch ganz pragmatisch vorgehen. Deshalb hier ein Vorschlag zur Abkürzung der Kopfarbeit:

1.) Füge im Quellendokument zwischen die Spalten Wert | neue Uhrzeit (also z.B. zwischen C und D, zwischen E und F, etc.) jeweils eine neue Spalte ein, in die du die Datumsspalte komplett kopieren kannst, weil sie ja jeweils Zeit und Wert zugeordnet ist.
2.) Jetzt kannst du mit Suchlauf die Datum-/Zeitangaben (wie in Deinem Zwischenstand) viel einfacher zu einer Datumzelle zusammenfügen und den Wert dahinter setzen
3.a) Am einfachsten wäre es nun, die Spalten C/D, E/F, etc. (wie in Deinem Zwischenstand) auszuschneiden und jeweils unterhalb der vorhandenen Einträge in die Spalten A/B einzusetzen, damit alle Angaben in A/B stehen. Danach : Rechenblatt-Sortierfunktion ...
3.b) als Alternative könnte ein erweiterter Suchlauf eingesetzt werden, der die Arbeit von 3.a übernimmt ...

Wie gesagt ... bei solch einer geringen Datenmenge würde ich solch eine pragmatische Lösung bevorzugen.
Und :
Diese Ausgangsbasis (Vorbereitung des Quelldokumentes) könnte aber auch der erste Schritt sein, wenn alles mit einem komplexen Suchlauf erledigt werden soll, da die Struktur dann einfacher zu organisieren ist.

Vielleicht ist das als erster Schritt eine brauchbare Anregung ...

Michael Vaerst

Re: Umsortieren einer Datum-/Zeitpunkt-Liste

#13862 On 7 Januar, 2025 21:20 Steffen said,

Vielen Dank Michael,
Du hast die Anforderung genau erfasst, aber mir geht es eben genau um jenen von Dir 3 genannten Punkt.
Ich brauche hier keine pragmatische (3a), sondern eine automatische Lösung (3b), da die Umsetzung für den Anwender so unkompliziert wie möglich sein muss - Du verstehst: Reiner User!
Genau bei dieser Suchlauffunktion sitze ich gerade auf dem Schlauch, wobei die Zwischenstand-Tabelle durchaus so bleiben kann. Eine alles auf einmal erledigende Eierlegende-Wollmilchsau-Formel ist - da muss ich Dir beipflichten - viel zu umfangreich und würde absolut unübersichtlich werden.
Vielleicht hat ja noch jemand eine Idee dazu ...
LG Steffen