Datedif in OO Calc benutzen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datedif in OO Calc benutzen

Re: Datedif in OO Calc benutzen

von Cunew. Musik » Mo, 05.02.2018 19:29

Hallo und vielen Dank für die Hilfe. Leider kann ich mich zur Zeit nicht damit beschäftigen. Ich habe keine Zeit. Sobald ich wieder weiter kann werde ich mich wieder melden. Ich denke, dass wird in der nächsten Woche .

Gruß
Cunew. Musik

Re: Datedif in OO Calc benutzen

von paljass » Mo, 05.02.2018 12:34

Hi,
Datumsdifferenz bsi zu den Tagen:

Code: Alles auswählen

=JAHRE(A1;A2;0) & " Jahr(e) "& REST(MONATE(A1;A2;0);12)& " Monat(e) " & GANZZAHL(A2)-EDATUM(A1;MONATE(A1;A2;0)) & " Tage "
noch die Stunden dazu

Code: Alles auswählen

=JAHRE(A1;A2;0) & " Jahr(e) "& REST(MONATE(A1;A2;0);12)& " Monat(e) " & GANZZAHL(A2)-EDATUM(A1;MONATE(A1;A2;0)) & " Tage "&GANZZAHL(REST(A2-EDATUM(A1;MONATE(A1;A2;0));1)/(1/24))&" Stunden"
und wer mag, kann sicher auch noch Minuten und Sekunden ausrechnungen und in die Formel einbauen.

Gruß
paljass

Re: Datedif in OO Calc benutzen

von mikeleb » So, 04.02.2018 19:54

Hallo,
als Spielerei und Ergänzung: Für die Bruchteile eines Tages könnte man auch folgende Zahlenformatierung verwenden:

Code: Alles auswählen

HH " Stunden "MM" Minuten "SS" Sekunden"

Re: Datedif in OO Calc benutzen

von Stephan » Sa, 03.02.2018 10:57

Es wird das Beste sein ich haue das Ding auf den Acker. Falls nicht doch noch jemand eine Idee hat möchte ich mich bei euch für eure Bemühungen bedanken.
Das Ganze ist doch reine Fleissarbeit.

Nehmen wir an das Geburtstagsdatum stünde in A1 und in A2 stünde =JETZT() und wir wollten gleich ohne DATEDIF() auskommen.

Die Jahre sind dann (in C1 eingetragen):

=JAHRE(A1;A2;0)

daraus nun das Datum ermitteln, welches diese Anzahl von Jahren hinter dem Geburtstagsdatum liegt (in C3 eingetragen):

=DATUM(JAHR(A1)+C1;MONAT(A1);TAG(A1))

daraus nun die Monate (in C5 eingetragen):

=MONATE(C3;A2;0)

jetzt wieder ein 'Zwischendatum' berechnen (in C7 eingetragen):

=DATUM(JAHR(C3);MONAT(C3)+C5;TAG(C3))

nun die Tage (in C9 eingetragen):

=GANZZAHL(TAGE(A2;C7))

nun den REst-Bruchteil der Tage (in C11 eingetragen):

=TAGE(A2;C7)-C9

daraus die Stunden ermitteln (in C13):

=C11/(1/24)

und die Anzahl an ganzen Stunden abtrennen (in C15):

=GANZZAHL(C13)

den Bruchteilsrest der Stunden bestimmen (in C17):

=C13-C15

das in Minuten umrechnen (in C19):

=C17*60

davon ganze Minuten abtrennen (in C21):

=GANZZAHL(C19)

die Bruchteilsminuten bestimmen (in C23):

=C19-GANZZAHL(C19)

das in SEkunden umrechnen (in C25):

=C23*60

die Ganzzahl der SEkunden ausrechnen (in C27):

=GANZZAHL(C25)


fertig.

Jetzt, ebenfalls stufenweise, den Text zusammenbauen:

in E1: =C1&" Jahre, "
in E5: =E1&C5&" Monate, "
in E9: =E5&C9&" Tage, "
in E15: =E9&C15&" Stunden, "
in E21: =E15&C21&" Minuten, "
in E27: =E21&C27&" Sekunden"


Und nun musst Du nur noch, beginnend von E27, immer in den Formeln für die Zellangaben die Formeln aus den bestreffenden Zellen einsetzen bius nur noch A1 und A2 dastehen. In E27 müssen also zunächst E21 und C27 durch die dortigen Formeln ersetzt werden, das gibt:

=(E15&C21&" Minuten, ")&(GANZZAHL(C25))&" Sekunden"

nun sind hierrin zu ersetzen E15, C21, C25, das ergibt:

=((E9&C15&" Stunden, ")&(GANZZAHL(C19))&" Minuten, ")&(GANZZAHL(C23*60))&" Sekunden"

nun sind hierrin zu ersetzen E9, C15, C19, C23:

...

und immer so weiter bis eine lange Formel resultiert die nur noch A1 und A2 enthält.

Abschliessend kann A2 noch durch JETZT() ersetzt werden und mittels WENN()-Funktion die Untersxcheidung zwischen "Monat"/"Monate" ... eingebaut werden.


Das ist Einiges an Fleißarbeit, aber nichts was viel DEnken erfordert.


Gruß
Stephan
Dateianhänge
Herleitung.ods
(10.53 KiB) 139-mal heruntergeladen

Re: Datedif in OO Calc benutzen

von Cunew. Musik » Fr, 02.02.2018 18:10

Nun habt ihr euch alle für mich den Kopf zerbrochen und nichts stimmt. Wohl auch meine Ausgangsformel nicht. Nach anderen Rechnern fehlen in dieser Ausgangsformel 5 Tage. Es wird das Beste sein ich haue das Ding auf den Acker. Falls nicht doch noch jemand eine Idee hat möchte ich mich bei euch für eure Bemühungen bedanken.

Gruß
Cunew. Musik

Re: Datedif in OO Calc benutzen

von t20r51 » Do, 01.02.2018 21:30

Moin Stephan,

dumm, das stimmt.... ich hatte das mit dem 6.1.1963 getestet.

mfg

Michael

Re: Datedif in OO Calc benutzen

von Stephan » Do, 01.02.2018 21:17

Danke, aber leider stimmt das Ergebnis nicht, denn für den 05.02.1957 erhalte ich:

60 Jahre, 11 Monate, 361 Tage, 21 Stunden, 12 Minuten und 38 Sekunden

und hierin ist falsch das dort noch 361 Tage stehen (die müssen in Monate umgerechnet sein) und auch stimmt die reine Summe von Tagen+Monaten+Jahren nicht, denn die Differenz von heute und dem 05.02.1957 sind 22276 Tage, was nicht 60*360 + 11*30 + 361 entspricht.


Gruß
Stephan

Re: Datedif in OO Calc benutzen

von t20r51 » Do, 01.02.2018 21:00

Moin,

falls jemand Wert auf die Worte "Tage" oder "Tag" legt.

DATUMDIF(D5;JETZT();"y")&" Jahr"&WENN(DATUMDIF(D5;JETZT();"y")<>1;"e";"")&", "&DATUMDIF(D5;JETZT();"ym")& " Monat"&WENN(DATUMDIF(D5;JETZT();"ym")<>1;"e";"")&", "&WENN(DATUMDIF(D5;JETZT();"yd")>1;DATUMDIF(D5;JETZT();"yd")&" Tage, ";DATUMDIF(D5;JETZT();"yd")&" Tag, ")&(TEXT(JETZT()-D5;"hh"))&" Stunden, "&TEXT(JETZT()-D5;"mm")&" Minuten und "&TEXT(JETZT()-D5;"ss")&" Sekunden"

Mfg

Michael

Re: Datedif in OO Calc benutzen

von t20r51 » Do, 01.02.2018 20:53

Moin Stephan,

Deine Formel etwas abgewandelt funktioniert:

DATUMDIF(D5;JETZT();"y")&" Jahr"&WENN(DATUMDIF(D5;JETZT();"y")<>1;"e";"")&", "&DATUMDIF(D5;JETZT();"ym")& " Monat"&WENN(DATUMDIF(D5;JETZT();"ym")<>1;"e";"")&", "&DATUMDIF(D5;JETZT();"yd")&" Tage, "&(TEXT(JETZT()-D5;"hh"))&" Stunden, "&TEXT(JETZT()-D5;"mm")&" Minuten und "&TEXT(JETZT()-D5;"ss")&" Sekunden"

Gruß

Michael

Re: Datedif in OO Calc benutzen

von Stephan » Do, 01.02.2018 19:12

Wenn es (für mich) einfach wäre hätte ich es gestern bereits getan. Ich habe jetzt eben wieder längere Zeit probiert und kann nur sagen das ich mit der Formel in H5:

=DATEDIF(D5;JETZT();"y")&" Jahr"&WENN(DATEDIF(D5;JETZT();"y")<>1;"e";"")&", "&DATEDIF(D5;JETZT();"ym")& " Monat"&WENN(DATEDIF(D5;JETZT();"ym")<>1;"e";"")&", "&TAG(JETZT())-(TAG(D5)+WENN(REST(1-D5;1)<REST(1-JETZT();1);1;0))+(TAG(D5)>TAG(JETZT()))*TAG(DATUM(JAHR(D5);MONAT(D5)+1;TAG(D5)))&" Tag"&WENN(TAG(JETZT())-TAG(D5)+(TAG(D5)>TAG(JETZT()))*TAG(DATUM(JAHR(D5);MONAT(D5)+1;TAG(D5)))<>1;"e";"")&", "&(TEXT(JETZT()-D5;"hh"))&" Stunden, "&TEXT(JETZT()-D5;"mm")&" Minuten und "&TEXT(JETZT()-D5;"ss")&" Sekunden"

zwar die vollständige Anzeige bekomme:

60 Jahre, 11 Monate, 0 Tag, 19 Stunden, 12 Minuten und 47 Sekunden

diese aber wohl nicht stimmt, weil MS Excel mit der Originalformel mir sagt:

60 Jahre, 11 Monate, 23 Tage, 19 Stunden, 04 Minuten und 43 Sekunden



Vielleicht kann jemand anderes helfen?


Gruß
Stephan

Re: Datedif in OO Calc benutzen

von Cunew. Musik » Do, 01.02.2018 18:28

Danke für die Antwort. Nur habe ich dabei das Problem, dass ich das nicht kann. Da die in Excel verwendete Formel ebenfall aus dem Forum stammt. Ich habe schon gesucht, ich sitzte ja nun schon wieder ne Weile. Aber ich bekomm es nicht hin. Bedeutet das sehr viel Arbeit, wenn ich dich darum bitten würde?

Re: Datedif in OO Calc benutzen

von Stephan » Do, 01.02.2018 15:51

Und was heißt nun bitte "die falsche Verwendung der Funktion DAtum in der der Parameter ür den Tag fehlt"?
Kann ich das irgendwie ändern?
Es heißt das die Funktion DATUM() 3 Parameter (Jahr, Monat, Tag) benötiget und Du nur zwei hingeschrieben hast. Ergänze also den dritten Parameter und es wird laufen.


Gruß
Stephan

Re: Datedif in OO Calc benutzen

von Cunew. Musik » Do, 01.02.2018 15:33

Erst mal vielen Dank für die Bemühungen.

zuerst einmal zur Antwort von lorbass. Wie schon in meiner Frage beschrieben. Es ist eine Spielerei. Das Ganze ist ein Countdown. Und genau wie du beschrieben hast sollte das aussehen.
Hast du eine andere Ausgabe von Open Office? Und das meine ich nicht irgendwie zweideutig, dazu habe ich viel zu wenig Ahnung. Und helfenden irgendwie komisch kommen geht auch nicht.
Aber bei mir ist die Kurzwahl STRG+K ohne Reaktion. STRG +F2 ist die Kurzwahl bei mir.

Nun zur Antwort von Stephan:

Genauso ist es jetzt bei mir auch. Der erste Teil der Formel funktioniert. Und was heißt nun bitte "die falsche Verwendung der Funktion DAtum in der der Parameter ür den Tag fehlt"?
Kann ich das irgendwie ändern?

Re: Datedif in OO Calc benutzen

von Stephan » Mi, 31.01.2018 20:11

Leider bringt mir die bereits auf jener Seite von Stephan gelieferte Antwort einen Script-Fehler
Unter welchen Umständen, d.h. was tuar Du das dieser Fehler resultiert?
und die auf jener Seite hinterlegte Beispeildatei http://oooforum.de/download/file.php?id ... e24746ac05 nur den Wert #WERT! ein.
mutmaßlich weil die Makroausführung nicht aktiviert ist.
Aktiviere Extras-Einstellungen-OpenOffice-Sicherheit-Makrosicherheit und dort die Option "mittel" oder "niedrig". Bei "mittel" musst Du dann noch jedesmal bei Öffnen der Datei die Makroausführung im erscheinenden Dialog explizit bestätigen.

DEine Hier angehängte Datei funktioniert im Übrigen nicht weil sie die benutzerdefinierte Funktion nicht enthält, obwohl ich im anderen Thread ja bereits erklärt hatte wo diese hingehört.

Der Fehler ERR:511 resultiert dem ersten Anschein nach durch die falsche Verwendung der Funktion DAtum in der der Parameter ür den Tag fehlt.

Beispielsweise funktioniert der erste TEil der Funktion einwandfrei:

=DATEDIF(D5;JETZT();"y")&" Jahr"&WENN(DATEDIF(D5;JETZT();"y")<>1;"e";"")&", "&DATEDIF(D5;JETZT();"ym")& " Monat"&WENN(DATEDIF(D5;JETZT();"ym")<>1;"e";"")&", "&TAG(JETZT())-(TAG(D5)+WENN(REST(1-D5;1)<REST(1-JETZT();1);1;0))



Gruß
Stephan
Dateianhänge
Beispiel-mit-Funktion.ods
(20.39 KiB) 158-mal heruntergeladen

Re: Datedif in OO Calc benutzen

von Mondblatt24 » Mi, 31.01.2018 18:52

Hallo,
Datedif-Funktion auch für OO Calc nutzen zu können
das Problem, die Funktion Datumdif() gibt es in Open Office Calc nicht.

Gruß Peter.

Nach oben