OOo und Ostersonntag

Hallo Experten,

weiter unten wurde kürzlich für Excel eine Gleichung zur Berechnung des Ostersonntags vorgestellt. Die hab ich mal probiert und bin sehr zufrieden damit.

Nun wollte ich die für meine Schwester in OO umsetzen, was für den Ostersonntag gut klappte.

Will ich aber nun von dem gefundenen Ostersonntagsdatum auf andere Feiertage umrechnen, geht das mit OO nicht mehr, weil das Datum in der Excel-Gleichung im Text-Format zusammengestellt wird und OO mit dem Textformat nicht rechnen will.

Die Frage ist also: Wie kann ich aus den Zahlen eines Textformates die einzelnen Zahlen extrahieren und zu Zahlen eines Datumsformates umwandeln, damit die anderen Feiertage auch noch berechnet werden können?

Erwartungsvolle Grüße
Pat

Hallo Interpat,

Will ich aber nun von dem gefundenen Ostersonntagsdatum auf
andere Feiertage umrechnen, geht das mit OO nicht mehr, weil
das Datum in der Excel-Gleichung im Text-Format
zusammengestellt wird und OO mit dem Textformat nicht rechnen
will.

ja, da war gestern, vorgestern was mit Ostersonntag und da gabs eine Formel.
M.M. nach ist das Ergenis kein Text sondern eine Zahl.

Die Frage ist also: Wie kann ich aus den Zahlen eines
Textformates die einzelnen Zahlen extrahieren und zu Zahlen
eines Datumsformates umwandeln, damit die anderen Feiertage
auch noch berechnet werden können?

Das geht schon, Text aufzuteilen und Einzelteile als zahlen umzuwandeln.
Andrerseits nehmen/brauchen manche datumsformeln auch Text als Parameter.

Mein Tipp an dich ist, gehe zu http://www.excelformeln.de
In der Startseite wählst du Formeln, dann siehste da „Suchfunktion“
Suche da mal nach
Ostersonntag
Und danach nach
Feiertag bzw. Feiertage

Wenn das Alles in OO nicht klappt, dann melde dich nochmal, dann stelle ich das in OO nach.

Ggfs., formatiere entsprechende zellen auch als Datum.

Erwartungsvolle Grüße

-) Ich weiß nicht was genau du so alles erwartest, aber ich trau mir schon zu auch in OO eine Feiertagsliste der beweglichen Feiertage die wohl alle auf den ostersonntag beruhen, zu erstellen.

Wenn nicht, liegt es an OO *unschuldig schau*

Gruß
Reinhard

Hi Pat,

ganz verstehe ich nicht, was Du willst. Bei Tabellenkalkulationen und Datum in Zellen muß man unterscheiden: was angezeigt wird und was wirklich in der Zelle steht.

Beispiel:

  • Gib in irgendeine Zelle ein Datum ein. Wenn es ein Datum ist, wird es automatisch rechtsbündig formatiert; wenn es ein Text ist, bleibt es linksbündig.

  • Wenn Du wissen willst, was in einem echten Datumsfeld wirklich drinsteht, gib in der Nachbarzelle ein

    =N(A1)

Zunächst wird Dir die Nachbarzelle wieder als Datum angezeigt werden, wenn Du aber die Formatierung (mit [Strg][1]) auf Standard zurücksetzst, sollte diese Nachbarzelle sowas zeigen wie 40413,45618.

So werden Datümmer in Tabellenkalkulationen dargestellt:

  • die Tage ab einem bestimmten Datum werden gezählt. Meist beginnt die Zählung beim 1.1.1900 (=1).
  • Die Nachkommastellen sind die Bruchteile eines Tages, also die Uhrzeiten (x,5 ist 12 Uhr mittags, High Noon).

Die Tabellenfunktion Datum(Jahr;Monat;Tag) macht aus drei Zahlen ein gültiges Tabellenkalkulationsdatum (wie 40413,45618).
Aus einem gültigen Tabellenkalkulationsdatum kann man Jahr, Monat und Tag mit den gleichnamigen Funktionen extrahieren; diese ergeben dann eine Zahl wie 2010 oder 4 oder 1.

Zu Deinem Problem:

Ich glaube nicht, daß die OOo-Formel wirklich einen Text für den Ostersonntag liefert. Das wäre äußerst ungewöhnlich.

Wenn doch, kämst Du

mit LINKS(A1;2) an den Tag
mit TEIL(A1;4;2) an den Monat
mit RECHTS(A1;4) an das Jahr

Alle drei müßtest Du mit

WERT(...)

in eine Zahl umwandeln, mit der Du ein Datum mit der schon oben beschriebenen Funktion

DATUM(Jahr;Monat;Tag)

berechnen könntest. ——

Ich weiß, das hört sich kompliziert an. Es sind aber die Grundlagen, wie Tabellenkalkulationen (OOo und XL sind sich da ziemlich gleich!) mit Datümmern umgehen.

HTH.

Markus
___________
Und Sterne sammel’ ich noch immer.

hallo,
in OO-Calc benötigst du keine spezielle Formel um den Ostersonntag zu ermitteln, da Calc eine Funktion dafür hat:

A1=Jahr
=OSTERSONNTAG(A1)

Hallo Reinhard,

dies

=TEXT(WENN(A6-3131;„04.“;„03.“)&A1

war die Gleichung für den Ostersonntag. Für mich ist das reiner Text. Merkwürdigerweise kann aber Excel damit weiterrechnen, OO kann das nicht. Ach ja, der Wert in A6 war ein Zwischenwert. A1 war das Jahr.

Steht das Datum des Ostersonntags in A8, berechnet Excel mit A8-2 das richtige Darum für den Karfreitag, OO gibt den 30.12.99 aus.

Gruß
Pat

Hallo Markus,

Zu Deinem Problem:

Ich glaube nicht, daß die OOo-Formel wirklich einen Text für
den Ostersonntag liefert. Das wäre äußerst ungewöhnlich.

nicht die OO-Formel, sondern die Excel-Formel nach OO transferiert!

Wenn doch, kämst Du

mit LINKS(A1;2) an den Tag
mit TEIL(A1;4;2) an den Monat
mit RECHTS(A1;4) an das Jahr

Alle drei müßtest Du mit

WERT(…)

in eine Zahl
umwandeln, mit der Du ein Datum mit der schon oben
beschriebenen Funktion

DATUM(Jahr;Monat;Tag)

berechnen könntest. ——

das ist genau das, was ich suchte!

___________
Und Sterne sammel’ ich noch immer.

kriegste!

Gruß
Pat

hallo,

auch hallo,

in OO-Calc benötigst du keine spezielle Formel um den
Ostersonntag zu ermitteln, da Calc eine Funktion dafür hat:

A1=Jahr
=OSTERSONNTAG(A1)

das ist ja um Klassen besser als das, was ich suchte! Dank dafür und

Gruß
Pat

Hallo Interpat,

=TEXT(WENN(A6-3131;„04.“;„03.“)&A1

war die Gleichung für den Ostersonntag. Für mich ist das
reiner Text.

ja,die Formel meinte ich aber nicht, bei excelformeln.de hast du nicht geschaut? :frowning:

Merkwürdigerweise kann aber Excel damit
weiterrechnen, OO kann das nicht.

Mag sein, bin dabei ohne mich näher mit der Formel beschäftigt zu haben auf der Seite von OO.

Ach ja, der Wert in A6 war ein Zwischenwert.
A1 war das Jahr.

Und was war A6? Zugegeben, hab die Formel nicht näher betrachtet.

Steht das Datum des Ostersonntags in A8, berechnet Excel mit
A8-2 das richtige Darum für den Karfreitag, OO gibt den
30.12.99 aus.

Wieso nun A8?

Gruß
Reinhard

Hallo Reinhard,

ja,die Formel meinte ich aber nicht, bei excelformeln.de hast
du nicht geschaut? :frowning:

„meine“ Gleichung war aus dem Posting von neulich hier, die Excelformel stand da auch, diese Gleichung wäre aber universeller hieß es.

Merkwürdigerweise kann aber Excel damit
weiterrechnen, OO kann das nicht.

Ach ja, der Wert in A6 war ein Zwischenwert.
A1 war das Jahr.

Und was war A6? Zugegeben, hab die Formel nicht näher
betrachtet.

Steht das Datum des Ostersonntags in A8, berechnet Excel mit
A8-2 das richtige Darum für den Karfreitag, OO gibt den
30.12.99 aus.

Wieso nun A8?

A1 das Jahr
A2 frei
A3/4/5 Gleichungen, A6 auch
A7 frei
A8 das Datum
sieht für mich übersichtlich aus.

Gruß
Pat

Hallo Pat,

=TEXT(WENN(A6-3131;"04.";"03.")&A1

Für mich ist das reiner Text.

Für mich auch. Und der Autor hat das, wie man an der Funktion TEXT() sieht, auch so gewollt.

Merkwürdigerweise kann aber Excel damit weiterrechnen, OO kann das nicht.

Nicht merkwürdig. XL kümmert sich nicht um die Wünsche des Benutzers, es macht, was es will. Auch wenn eine Zelle direkt oder per Formatvorlage als Text formatiert ist, wandelt XL datumsähnliche Eingaben einfach in Datümmer um. Du mußt immer nacharbeiten!

Steht das Datum des Ostersonntags in A8, berechnet Excel mit A8-2 das richtige Darum für den Karfreitag, OO gibt den 30.12.99 aus.

Logisch. XL konvertiert den Text (für mich unzulässigerweise) in eine Datum und rechnet damit weiter.
OOo hält sich an die Benutzervorgaben, rechnet mit dem Wert von Textzellen, der Null ist, weiter, und zeigt formatiert nur das Ergebnis. Es ist das Tabellenkalkulationsdatum -2, der 30.12.1899.Für Tabellenkalkulationen ist sowas logisch.

Und für Benutzer ist es besser, weil das Verhalten der Tabellenkalkulation nachvollziehbar ist. Am Rande: Großen Exceltabellen, die das Controlling erstellt hat und deren Rohdaten und Weiterverarbeitung (Formeln) nicht offengelegt werden, traue ich grundsätzlich nicht. Wenn die nicht aufpassen, rechnen sie mit dem 31.12.1899 weiter und merken es nicht einmal.

Gruß

Markus

Funktion Ostersonntag() für Excel
Hallo zusammen
ein kurzer Nachtrag zum Thema:
Du kannst die Funktion =Ostersonntag()
entsprechend auch in eine Excel-Tabelle einbauen und benutzen:

Die Funktion:

Function Ostersonntag(J As Integer) As Date '1900-2100
Ostersonntag = CDate(Int((Abs(Abs(J - 2015) - 47.5) = _
13.5) + 0.9 + (DateSerial(J, 3, 21) + _
((204 - 11 * (J Mod 19)) Mod 30)) / 7) * 7 + 1)
End Function

Einfügen:

> Tastenkombination ALT + F11
> dieseArbeitsmappe > markieren
> Einfügen > Modul
> Modul markieren
> Funktion rechts komplett einfügen
> Editor [Fenster] schließen

Die Funktion =Ostersonntag() steht jetzt in der Tabelle zur Verfügung
Gruß Holger