Autor Thema: von 4 Datumswerten den kleinsten herrausfinden  (Gelesen 2436 mal)

Offline Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
von 4 Datumswerten den kleinsten herrausfinden
« am: 05.04.12 - 08:29:03 »
Ich habe gerade einen Knoten im Kopf und bräuchte mal einen Denkanstoß. :-\

Ich habe 4 Felder die jeder einen Datumswert enthalten können (aber auch leer sein können). Nun möchte ich in ein berechnetes Feld den kleinster dieser 4 Datumswerte schreiben. Das Ganze soll per Formel geschehen.

Gibt es da eine intelligenter Lösung als das Ganze mit einer verschachtelten @If Abfrage zu lösen?

Dietmar

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #1 am: 05.04.12 - 08:42:08 »
Alle Datumsfelder in eine Liste, trimmen und sortieren. Der erste Wert ist dann der älteste, der letzte der jüngste.

Sinngemäß und ungetestet etwa so:

_liste := @Sort (@Trim (Feld1 : Feld2 : Feld3 : Feld4));
_aeltester := @Subset (_liste; 1);
_juengster := @Subset (_liste; -1);

Du solltest unbedingt testen, ob die Sortierung nach Datum erfolgt und nicht nach Text. Laut Hilfe soll es gehen.

Offline Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #2 am: 05.04.12 - 10:12:28 »
damit hast Du mich in die Spur gebracht. Nur den @Trim mag er nicht, da es Datumsfelder sind. Aber ansonsten funktioniert es genau so, Danke Peter!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #3 am: 05.04.12 - 10:33:22 »
Und warum nicht @Min( liste ) ?
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #4 am: 05.04.12 - 10:41:21 »
@Min erwartet eine Zahl. Leider fehlt in Formelsprache eine Funktionen, um die Datumsseriennummer zu ermitteln ...

Bernhard

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #5 am: 05.04.12 - 11:00:57 »
ABer trotzdem werden Datumswerte in Formel als Zahlen behandelt... Man kann sie subtrahieren, addieren, vergleichen, etc... Und deshalb funktioniert auch min.

Habe das grade probiert:

@Min( [10.01.2012] : [01.02.2012] : [12.12.2011]  )

Liefert: 12.12.2011

Gruss
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #6 am: 05.04.12 - 11:21:06 »
Ja Tode, aber das wäre doch viel zu einfach ...  ;)

Wenn es also klappt, dann ist das natürlich besser. Habe das jetzt selbst ausprobiert. In beiden Varianten (Sort und Min) gibt es (zumindest bei mir) ein Problem, wenn einer der Werte leer ist. Also muss im Vorfeld die Liste so aufgebaut werden, dass sie keine leeren Felder enthält. Deshalb die Idee des @Trim, was aber nicht funktioniert, da dort Text erwartet wird. Und dann finde ich @Min natürlich auch eleganter (hätte nicht gedacht, dass das geht).

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #7 am: 05.04.12 - 11:22:32 »
Das hat man nun von Vorurteilen, Torsten  ;)
Ich habe also wieder was gelernt!

Bernhard

PS: @Trim kann man natürlich trotzdem einsetzen:
@TextToTime (@Trim (@Text (<Werteliste>))
« Letzte Änderung: 05.04.12 - 11:30:14 von koehlerbv »

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #8 am: 05.04.12 - 11:35:14 »
Ja, @Min war lange Zeit quasi unbrauchbar, weil es nur den kleineren Wert von 2 finden konnte. Brauchte also immer 2 Parameter und wenn man 2 Listen übergeben hat, dann hat er jeweils das kleinere Element der zwei Listen zurückgelifert -> Vollkommen unbrauchbar.
Mit dem Rewrite der Formel- Engine wurde dem @Min aber eine zweite Syntax spendiert, die nur noch einen Parameter braucht, und da funktioniert das dann wie man es erwartet.

Und wegen der Leeren Werte: Entweder wie Bernhard geschrieben hat (da das ganze quasi innerhalb eines Prozesses passiert ist durch die doppelte Wandlung kein "informationsverlust" zu erwarten (unterschiedliche Ländereinstellungen o.ä.), oder sehr unelegant mit mehreren Ifs inneinander verschachtelt...

Gruss
Torsten
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #9 am: 05.04.12 - 11:44:18 »
Klar, @Text und @TextToTime, die Befehle, für die ich sonst die Schläge kriege  ;D (passt hier natürlich)

Bin irgendwie nur halb bei der Sache heute, zuviel um die Ohren ...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: von 4 Datumswerten den kleinsten herrausfinden
« Antwort #10 am: 05.04.12 - 11:48:14 »
Du kriegst doch keine Schläge, Peter! Bei "missbrauchten" Strings kommt es doch vorrangig auf den Kontext an.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz