BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Schnittmenge von Datumsbereichen
Schnittmenge von Datumsbereichen
Hallo zusammen,
ich grübele gerade über einem kleinen Problem und suche eine elegantere Lösung als die, welche mir bisher eingefallen ist.
Problem:
Gesucht ist die Schnittmenge zweier Zeitspannen. Dabei ist eine Spanne fix (bspw. 1.10.2020 - 31.9.2021) und eine zweite zu prüfende Spanne ist variabel. bspw.8.8.2020 -2.3.2021 oder 1.11.2020 -30.10.2021 oder 1.2.2021-1.12.2021 o.ä. Sprich das Start- und das Enddatum der variablen Zeitspanne kann kleiner/größer/gleich dem Start- bzw. End-Datum der fixen Zeitspanne sein. Ich suche nun eine elegante Möglichkeit die Anzahl der Tage der variablem Zeitspanne auszugeben die sich im Zeitraum der fixen Zeitspanne befinden.
Mein bisheriger Ansatz:
Erstes rangehen war über reine if-then-else Verschachtelungen, dass hat sich aber als recht sperrig und unübersichtlich erwiesen.
Wenn jemand da eine Idee hätte wie das ganze schlank und übersichtlich lösbar ist würde ich mich freuen.
Vielen lieben Dank schonmal
lg Saigo
ich grübele gerade über einem kleinen Problem und suche eine elegantere Lösung als die, welche mir bisher eingefallen ist.
Problem:
Gesucht ist die Schnittmenge zweier Zeitspannen. Dabei ist eine Spanne fix (bspw. 1.10.2020 - 31.9.2021) und eine zweite zu prüfende Spanne ist variabel. bspw.8.8.2020 -2.3.2021 oder 1.11.2020 -30.10.2021 oder 1.2.2021-1.12.2021 o.ä. Sprich das Start- und das Enddatum der variablen Zeitspanne kann kleiner/größer/gleich dem Start- bzw. End-Datum der fixen Zeitspanne sein. Ich suche nun eine elegante Möglichkeit die Anzahl der Tage der variablem Zeitspanne auszugeben die sich im Zeitraum der fixen Zeitspanne befinden.
Mein bisheriger Ansatz:
Erstes rangehen war über reine if-then-else Verschachtelungen, dass hat sich aber als recht sperrig und unübersichtlich erwiesen.
Wenn jemand da eine Idee hätte wie das ganze schlank und übersichtlich lösbar ist würde ich mich freuen.
Vielen lieben Dank schonmal
lg Saigo
-
- Beiträge: 2838
- Registriert: Fr 3. Mär 2017, 17:12
Re: Schnittmenge von Datumsbereichen
Hallo,
Eine Beispieldatei ist hilfreich!
Gruß Peter
Wo ist der Fehler?
Eine Beispieldatei ist hilfreich!
Gruß Peter
Win 11 (x64) ▪ LO 24.2.2.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Re: Schnittmenge von Datumsbereichen
Nein kein Fehler, darum ging es nicht.
Wie ich geschrieben hatte geht es mir darum eine Bessere Lösung als meinen Ansatz zu finden.
Mit meiner If-then Konstruktion ist es einfach unübersichtlich, mir fehlt aber grade die Idee für einen anderen Ansatz.
z.Z. Prüfe ich ob das Startdatum größer/kleiner/gleich ist ob das End-Datum größer kleiner gleich ist und daraus folgend subtrahiere ich je nach Ergebnis das fixe oder variable Startdatum von dem fixen oder variablem Enddatum.
... OK das jetzt liest sich so wirr ich mache gleich mal eine Beispieldatei. gib mir ein paar Minuten
Wie ich geschrieben hatte geht es mir darum eine Bessere Lösung als meinen Ansatz zu finden.
Mit meiner If-then Konstruktion ist es einfach unübersichtlich, mir fehlt aber grade die Idee für einen anderen Ansatz.
z.Z. Prüfe ich ob das Startdatum größer/kleiner/gleich ist ob das End-Datum größer kleiner gleich ist und daraus folgend subtrahiere ich je nach Ergebnis das fixe oder variable Startdatum von dem fixen oder variablem Enddatum.
... OK das jetzt liest sich so wirr ich mache gleich mal eine Beispieldatei. gib mir ein paar Minuten
-
- Beiträge: 2838
- Registriert: Fr 3. Mär 2017, 17:12
Re: Schnittmenge von Datumsbereichen
Win 11 (x64) ▪ LO 24.2.2.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Re: Schnittmenge von Datumsbereichen
So, sorry hat ein paar Minuten länger gedauert, musste das Kind noch hinlegen
Hoffe das bringt Klarheit rein. Ich suche halt nur eine eleganter bzw. übersichtlicher Lösung für den Fall das die Tabellen nicht so simpel aufgebaut sind wird das sonst schwer unübersichtlich.
LG
Nachtrag: Das Video scheint interessant zu sein, führe ich mir nachher gleich mal zu Gemüte, ich hab das irgendwie nicht gefunden. Danke
Hoffe das bringt Klarheit rein. Ich suche halt nur eine eleganter bzw. übersichtlicher Lösung für den Fall das die Tabellen nicht so simpel aufgebaut sind wird das sonst schwer unübersichtlich.
LG
Nachtrag: Das Video scheint interessant zu sein, führe ich mir nachher gleich mal zu Gemüte, ich hab das irgendwie nicht gefunden. Danke
- Dateianhänge
-
- Datumsbereich-Schnittmenge.ods
- (11.71 KiB) 113-mal heruntergeladen
Re: Schnittmenge von Datumsbereichen
(Hoffe, das Kind hat gut geschlafen.)
Wenn man den Schnitt zweier Intervalle braucht, kann man die Auswertungen, die Bedingungen erfordern, in den Standardfunktionen MIN() und MAX() verstecken.
Die mögliche Untergrenze des Schnittintervalls bekommt man als MAX(unter1; unter2), und die Obergrenze als MIN(ober1; ober2), wobei das intervall leer ist, falls die vermutete Untergrenze größer ist als die Obregrenze. In deinem besonderen Fall muss man noch berücksictigen, dass auch ein Intervall der Länge 0 in deinem Sinne einen Tag enthält. Für Reihe 3 deines Beispielblatts lautet die passende Formel dann
wobei GANZZAHL() den Datumswert abrundet, falls eine durch das Anzeigeformat unterdrückte Uhrzeit enthalten sein sollte.
Deine eigene Formel mit den geschachtelten Bedingungen habe ich nicht genau studiert. Sie scheint aber in Zeile 4 ein falsches Ergebnis zu liefern.
Siehe Anhang:
Wenn man den Schnitt zweier Intervalle braucht, kann man die Auswertungen, die Bedingungen erfordern, in den Standardfunktionen MIN() und MAX() verstecken.
Die mögliche Untergrenze des Schnittintervalls bekommt man als MAX(unter1; unter2), und die Obergrenze als MIN(ober1; ober2), wobei das intervall leer ist, falls die vermutete Untergrenze größer ist als die Obregrenze. In deinem besonderen Fall muss man noch berücksictigen, dass auch ein Intervall der Länge 0 in deinem Sinne einen Tag enthält. Für Reihe 3 deines Beispielblatts lautet die passende Formel dann
Code: Alles auswählen
=MAX(-1;MIN(GANZZAHL($C$2);GANZZAHL($C3))-MAX(GANZZAHL($B$2);GANZZAHL($B3)))+1
Deine eigene Formel mit den geschachtelten Bedingungen habe ich nicht genau studiert. Sie scheint aber in Zeile 4 ein falsches Ergebnis zu liefern.
Siehe Anhang:
LibreOffice 7.2, AOO 4.1.7, Ältere Versionen für Experimente...
Re: Schnittmenge von Datumsbereichen
Hallo saigo, nachdem du den Thread noch nicht als gelöst gekennzeichnet hast, erlaube ich mir noch einen Vorschlag zu bringen. Der Vorschlag von @lupp mit der Funktion max() ist natürlich nicht zu toppen. Ich habe hier drei Formeln verwendet, die ich in den Namen "eins, zwei, drei" gespeichert habe; die fixen Daten sind als "Fixstart" und "Fixende" benannt.
Sollte dein Problem gelöst sein, bitte dies kenntlich machen.
Gruß Helmut
Sollte dein Problem gelöst sein, bitte dies kenntlich machen.
Gruß Helmut
- Dateianhänge
-
- Schnittmenge.ods
- (16.26 KiB) 78-mal heruntergeladen
MX-Linux KDE + Linux-Mint Cinnamon
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️