Von String nach Datum

Guten Tag Allerseits,

möglicherweise sehe ich den Wald vor Bäumen nicht.

Ich arbeite mit RT 6.5 auf einem MacBook Pro.

A1 (Umbruchzelle) enthält einen Text mit einem Datum in der Schreibweise "25. Januar 2009"
B1 enthält eine Formel, die das Datum extrahiert – natürlich in der Originalschreibweise als Text
- also: "25. Januar 2009"
C1 soll eine Formel enthalten, die daraus den Datumswert macht.

Ich habe das mit den Formeln:
"Datum(B1)" oder "Wert(B1)" oder "Zahl(B1)"
nicht hinbekommen.

Kurioserweise geht es mit Hin- und Herklicken zwischen den Symbolen für Text und Auto
bei der Zelltypenerkennung/-festlegung.

Mit der AppleScript-Zeile:
set cell "C1" of table "Rechenblatt 1" of document 1 to value of cell "B1" of table "Rechenblatt 1" of document 1
funktioniert das auch.

Ich möchte aber möglichst nur mit Rechenblattfunktionen arbeiten.

Oder geht das nicht bzw. ist das zu aufwendig?

Gruß
Lutz

Re: Von String nach Datum

#9467 On 9 Mai, 2010 19:24 Mathias Milchmeyer said,

Am 09.05.2010 um 20:08 schrieb Lutz-Dieter Bornemann:

> A1 (Umbruchzelle) enthält einen Text mit einem Datum in der
> Schreibweise "25. Januar 2009"
> B1 enthält eine Formel, die das Datum extrahiert – natürlich in der
> Originalschreibweise als Text
> - also: "25. Januar 2009"
> C1 soll eine Formel enthalten, die daraus den Datumswert macht.
>
> Ich habe das mit den Formeln:
> "Datum(B1)" oder "Wert(B1)" oder "Zahl(B1)"
> nicht hinbekommen.

Hallo Lutz,

wenn ich das richtig verstehe, ist für RagTime Deine Schreibweise noch
kein Datum sondern Text.
Wenn Du daraus ein Datum machen möchtest, müßtest Du die einzelnen
Teile "25" "Januar" "2009" getrennt auslesen und als Datum wieder
zusammenfügen.
Oder Du verwendest in A1 bereits "25.01.2009".
Dann kannst Du mit Wert(A1) oder Datum(A1) weiterarbeiten, hast aber
nicht mehr die Bezeichnung des Monats dabei.

Ich hoffe, Du kannst in der Richtung etwas passendes entwickeln.

Einen schönen Restsonntag wünscht
Mathias Milchmeyer

Re: Von String nach Datum

#9468 On 9 Mai, 2010 20:58 Thomas Kaegi said,

Hallo Lutz

Was dein Problem etwas kompliziert macht, ist der Monatsname. Dieser wird von RagTime nicht als solcher erkannt. Du brauchst deshalb meines Erachtens eine Hilfstabelle mit den Monatsnamen. Ich habe diese Tabelle mal in die Zellen G1:G12 des gleichen Rechenblattes gelegt: Einfach in Zelle G1 den Text "Januar" und in G2 den Text "Februar" eingeben, dann beide Zellen auswählen und am Griff bis Zeile 12 nach unten ziehen. Die übrigen Monatsnamen werden so automatisch eingefüllt.

Dann berechnet folgende Formel das Datum, so dass es für RagTime auch ein solches ist:

SetzeDatum(Rechts(B1;4);Auswahl(G:G;LfdZelle=Teil(B1;Finden(' ';B1)+1;Finden(' ';B1;5)-
Finden(' ';B1)-1);1);Zahl(Links(B1;2)))

Gruss, Thomas

Re: Von String nach Datum

#9470 On 10 Mai, 2010 10:19 Lutz-Dieter Bornemann said,

Hallo Thomas, hallo Mathias,

vielen Dank für Eure Mühe.
Ich komme wohl um die "Ochsentour" nicht herum.
Meine Formel hat allerdings am Schluss noch eine kleine Erweiterung,
damit "5. Januar 2009" auch funktioniert, und sieht dann so aus:

SetzeDatum(Rechts(B1;4);Auswahl(G:G;LfdZelle=Teil(B1;Finden(' ';B1)+1;Finden(' ';B1;5)-
Finden(' ';B1)-1);1);Zahl(Links(B1;Finden('. ';B1)-1)))

In der fertigen Anwendung muss ich dann nur(?!?!) noch
an die Stelle von B1 die Formel für die Extraktion des Datums
aus dem Umbruchtext in A1 setzen und
das Ganze in eine Suchlauf-Funktion integrieren,
damit diese eine Spalte füllt,
nach der dann sortiert wird.
Ob ich dann noch mit "Auswahl" und "lfdZelle" arbeiten kann,
muss ich noch ausprobieren.

Und da hatte halt gehofft, es ginge irgendwie einfacher.

Nochmals vielen Dank
Gruß
Lutz

Am 09.05.2010 um 22:01 schrieb Thomas Kaegi:

> Hallo Lutz
>
> Was dein Problem etwas kompliziert macht, ist der Monatsname. Dieser wird von RagTime nicht als solcher erkannt. Du brauchst deshalb meines Erachtens eine Hilfstabelle mit den Monatsnamen. Ich habe diese Tabelle mal in die Zellen G1:G12 des gleichen Rechenblattes gelegt: Einfach in Zelle G1 den Text "Januar" und in G2 den Text "Februar" eingeben, dann beide Zellen auswählen und am Griff bis Zeile 12 nach unten ziehen. Die übrigen Monatsnamen werden so automatisch eingefüllt.
>
> Dann berechnet folgende Formel das Datum, so dass es für RagTime auch ein solches ist:
>
> SetzeDatum(Rechts(B1;4);Auswahl(G:G;LfdZelle=Teil(B1;Finden(' ';B1)+1;Finden(' ';B1;5)-
> Finden(' ';B1)-1);1);Zahl(Links(B1;2)))
>
> Gruss, Thomas

Re: Von String nach Datum

#9471 On 10 Mai, 2010 10:39 Thomas Kaegi said,

Hallo Lutz

Meine Formel war mit ein- und zweistelligem Datum getestet!

Gruss, Thomas

Re: Von String nach Datum

#9472 On 10 Mai, 2010 11:13 Thomas Kaegi said,

Nachtrag: Warum meine Formel mit ein- und zweistelligem Datum funktioniert hat: Es wurden immer zwei Stellen eingelesen. Da in der Schweiz der Punkt als Dezimaltrenner definiert ist, war es egal, ob mit (Links(B1;2)) eine zweistellige Zahl oder eine Ziffer gefolgt von Punkt eingelesen und in eine Zahl gewandelt wurden. Möglicherweise ist deine Änderung für RagTime-DE erforderlich, weil bei euch das Komma als Dezimaltrenner verwendet wird. Vielleicht würde es aber auch mit der Grundeinstellung des Programms in der Tafel "Berechnung" funktionieren, dass beide als Dezimaltrenner interpretiert werden.

Ob Auswahl mit LfdZelle im Suchlauf verwendet werden kann? Ja! Um festzulegen, um welche "LfdZelle" es geht, kann ja die Schachtelungsebene angegeben werden. Ohne dieses Argument ist es die innerste Schachtelungsebene, mit dem Attribut 1 die nächst-äussere.

Gruss, Thomas

Re: Von String nach Datum

#9473 On 10 Mai, 2010 11:24 Lutz-Dieter Bornemann said,

Hallo Thomas,

das mit dem Dezimaltrenner war es.

Vielen Dank auch für Deinen Hinweis auf die Schachtelungsebene.

Gruß
Lutz

Am 10.05.2010 um 12:16 schrieb Thomas Kaegi:

> Nachtrag: Warum meine Formel mit ein- und zweistelligem Datum funktioniert hat: Es wurden immer zwei Stellen eingelesen. Da in der Schweiz der Punkt als Dezimaltrenner definiert ist, war es egal, ob mit (Links(B1;2)) eine zweistellige Zahl oder eine Ziffer gefolgt von Punkt eingelesen und in eine Zahl gewandelt wurden. Möglicherweise ist deine Änderung für RagTime-DE erforderlich, weil bei euch das Komma als Dezimaltrenner verwendet wird. Vielleicht würde es aber auch mit der Grundeinstellung des Programms in der Tafel "Berechnung" funktionieren, dass beide als Dezimaltrenner interpretiert werden.
>
> Ob Auswahl mit LfdZelle im Suchlauf verwendet werden kann? Ja! Um festzulegen, um welche "LfdZelle" es geht, kann ja die Schachtelungsebene angegeben werden. Ohne dieses Argument ist es die innerste Schachtelungsebene, mit dem Attribut 1 die nächst-äussere.
>
> Gruss, Thomas
>
>
>