Seite 1 von 1

calc: warum liefert =DATUM(0;0;0) den 30.11.1999

Verfasst: Do, 06.09.2012 10:25
von OttoZ
LibreOffice 3.5.6.2

hallo,
=DATUM(0;0;0) liefert den 30.11.1999 - warum? Ist einfach so - OK!
warum nun liefert
=monat(leerzelle) eine "12"?
?ging die Uhr während meiner Fragestellung eine Sekunde weiter?
Ach ja, die Null als Datumswert ist ja der 30.12.1899,

ergo, der Monat von Datumswert 0 ist 12, der von Nix ("") ist 11, na klar, eine 0 ist doch mehr als nix (""), also weniger von 12 muß 11 ergeben :idea:
Na klar, der Datumswert von 0 ist 30.12.1899, =DATUM(0;0;0) ist 30.11.1999, hat zwei Nullen mehr in der Fragestellung, liegt also 100 Jahre später :mrgreen:

ich bin verwirrt, ... danke für einen Tipp,
OttoZ

Re: calc: warum liefert =DATUM(0;0;0) den 30.11.1999

Verfasst: Do, 06.09.2012 10:57
von pmoegenb
Hallo OttoZ,

gemäß Funktions-Assistent liefert die Funktion DATUM die interne Zahl eines angegebenen Datums. Bei =DATUM(0;0;0) z. B. 36494. Wenn Du diese Zahl als Datum formatierst erhältst Du das Datum 30.11.1999.

Weshalb das so ist, weiß ich nicht.

Ist aber bei AOO 3.4.1 genauso.

Zum Datum 30.12.1899, dies trifft m. W. auf NULL (ohne Inhalt) und nicht auf 0 zu.

Re: calc: warum liefert =DATUM(0;0;0) den 30.11.1999

Verfasst: Do, 06.09.2012 11:23
von Stephan
=DATUM(0;0;0) liefert den 30.11.1999 - warum?
Weil augenscheinlich ein Fehler im Programm vorliegt, ansonsten müßte der Fehler Err:502 angezeigt werden, Da Du für Monat und Tag ungültige Argumentwerte verwendest.

Hierbei gilt:
-ich behaupte nicht das die Fehleranzeige in Calc insgesamt konsistent ist, Du dürftest also Tabellenfunktionen finden die sich abweichend verhalten, also die trotz falscher Argumentenwerte nicht eine zutreffende Fehleranzeige liefern, weshalb meine obige Aussage keine generell zutreffende Aussage ist
-Diskussionen dazu ob wirklich ein Fehler vorliegt (denn ein Fehler ist immer auch eine Definitionsfrage) müßtest du mit dem LibreOffice-Projekt führen, da mir dessen diesbezügliche Ziele nicht bekannt sind - für OOo galt z.B. das das Ziel, ausgehend vom ursprünglichen Verhalten in OOo 1.0, die Kompatibilität der Tabellenfunktionen mit MS Excel war, d.h. OOo gab u.U. falsche Werte wieder um kompatibel zu sein
"ausgehend" meint hier das beliebige Versionen >1.0 sich nie vollens daran hielten, Änderungen des Verhaltens jedoch in diese Richtung gemacht wurden. Generell ist bei OOo/AOO/LO bei Tabellenfunktionen noch Etliches in Bewegung, wobei man sich zumindest bei OOo, nie entschließen konnte absehbar nötige Änderungen 'im Block' zu machen sondern immer nur kleckerweise.
Ach ja, die Null als Datumswert ist ja der 30.12.1899
ja, als Defaulteinstellung


Gruß
Stephan

Re: calc: warum liefert =DATUM(0;0;0) den 30.11.1999

Verfasst: Do, 06.09.2012 12:29
von OttoZ
Ergo, Computerprogramme sind menschlich.
@Stephan
...das Ziel, ..., die Kompatibilität ... mit MS Excel war, d.h. OOo gab u.U. falsche Werte wieder um kompatibel zu sein
und dann finde ich, auch zum Thema, http://www.online-excel.de/excel/singsel.php?f=128
...Excel wollte ... mit ... Lotus 1 2 3 kompatibel sein. Dieses Programm hatte aber einen Fehler, ...
Ich erinnere, 1 2 3 war schon wegweisend! :shock:
Weitere Spaßigkeiten unter Excel konnte ich mit LibreOffice nicht reproduzieren, hat LO die Nase etwa vorn?

mfG OttoZ

Re: calc: warum liefert =DATUM(0;0;0) den 30.11.1999

Verfasst: Do, 06.09.2012 13:04
von Stephan
Weitere Spaßigkeiten unter Excel konnte ich mit LibreOffice nicht reproduzieren, hat LO die Nase etwa vorn?
Nein, denn jenseits ideologischer Träumereien hat derjenige die Nase vorn der den Markt beherrscht und das ist ganz eindeutig MS Excel.
Diese Aussage richtet sich natürlich nicht speziell gegen LO, denn ich habe sie in der Vergangenheit mehrfach auch gegen OOo so getroffen und würde sie auch in Bezug auf AOO so formulieren.

Beispielsweise könnte man jederzeit formulieren das OOo/AOO/LO 'die Nase vorn haben' bezüglich der Bewertung des Jahres 1900 als Nicht-Schaltjahr, denn es ist ein sehr bekannter Fehler in MS Excel dass Jahr 1900 als Schaltjahr zu werten, nur ist das in einer realen Welt Ideologie, da es einfach nicht praktikabel ist wegen eines solchen Fehlers so zu agieren als seien 99% aller Dokumente falsch.
Sie sind falsch, nur ist es nicht sinnvoll das in Praxis gelten zu lassen weil dadurch ein unverantwortlicher Aufwand entstünde. Die Antwort von OOo (AOO/LO) darauf ist deshalb auch höchst pragmatisch gewählt indem man einfach das Defaultstartdatum (Excel: 01.01.1900; Calc: 30.12.1899) anders setzt und damit erreicht das in den meisten praktisch relevanten Berechnungen kein Problem in Erscheinung tritt.


Du merkst das ich etwas gereizt reagiere, das aber weil ich ganz und garnicht den Eindruck habe das LO (oder OOo/AOO) bezüglich Calc die Nase vorn haben, denn diese Programme haben es ja bis heute nicht einmal geschafft bekannte Formelinkompatibilitäten zu beseitigen, sondern behelligen den Nutzer mit extrem nervenden, und im kommerziellen Einsatz potentiell kostenträchtigen, Detailänderungen in Form von 'Salamitaktik'.


Gruß
Stephan