Datedif in OO Calc benutzen
Moderator: Moderatoren
-
- Beiträge: 7
- Registriert: Mi, 31.01.2018 14:10
Datedif in OO Calc benutzen
Hallo zusammen! Ich bin neu hier und leider gleich zu Beginn in ein Fettnäpfchen getreten. Ich habe einen alten Thread verlängert. Deshalb mache ich es jetzt hoffentlich richtig und schreibe hier weiter.
Unter http://oooforum.de/viewtopic.php?f=2&t= ... 05#p273572 fand ich eine Möglichkeit die unter Excel benutzte Formel mit der Datedif-Funktion auch für OO Calc nutzen zu können. Leider bringt mir die bereits auf jener Seite von Stephan gelieferte Antwort einen Script-Fehler und die auf jener Seite hinterlegte Beispeildatei http://oooforum.de/download/file.php?id ... e24746ac05 nur den Wert #WERT! ein.
Meine Musikkameraden benutzen zum Teil Openoffice. Und da wollte ich versuchen ob ich das hinbekomme. Es ist Spielerei bitte nicht gleich meckern. Falls das so nicht funktioniert oder erheblich mit Arbeit verbunden ist, können wir das auch lassen. Interessiert hätte mich es jedoch sehr! Ich habe euch meine Beispieldatei angehängt. In Spalte H ist die unter Excel vewendeten Formel.
Vielen Dank für die Bemühungen.
Unter http://oooforum.de/viewtopic.php?f=2&t= ... 05#p273572 fand ich eine Möglichkeit die unter Excel benutzte Formel mit der Datedif-Funktion auch für OO Calc nutzen zu können. Leider bringt mir die bereits auf jener Seite von Stephan gelieferte Antwort einen Script-Fehler und die auf jener Seite hinterlegte Beispeildatei http://oooforum.de/download/file.php?id ... e24746ac05 nur den Wert #WERT! ein.
Meine Musikkameraden benutzen zum Teil Openoffice. Und da wollte ich versuchen ob ich das hinbekomme. Es ist Spielerei bitte nicht gleich meckern. Falls das so nicht funktioniert oder erheblich mit Arbeit verbunden ist, können wir das auch lassen. Interessiert hätte mich es jedoch sehr! Ich habe euch meine Beispieldatei angehängt. In Spalte H ist die unter Excel vewendeten Formel.
Vielen Dank für die Bemühungen.
- Dateianhänge
-
- Beispiel.ods
- (19.27 KiB) 249-mal heruntergeladen
Re: Datedif in OO Calc benutzen
Bei mir ergibt die Funktion DATUMDIF() in Stephans datedif-beispiel.ods den Wert 6605, in deiner Beispiel.ods den Wert 60 Jahre, 11 Monate, 25 Tage, 17 Stunden, 12 Minuten und 32 Sekunden. Der Fehlerwert #WERT! taucht hier nicht auf. Änderungen habe ich nicht vorgenommen.Cunew. Musik hat geschrieben: Mi, 31.01.2018 16:58 die auf jener Seite hinterlegte Beispeildatei […] nur den Wert #WERT! ein.
Ich habe keine Idee, warum du Fehlermeldungen erhältst. Experimentiere vielleicht mal mit der Formatierung der Zellen. Oder untersuche die Funktion mit dem Funktions-Assistenten (Menüwal Einfügen → Funktion oder Kurzwahl Strg+K oder Button f(x)).
Übrigens: Sekunden, Minuten und i.d.R. auch noch Stunden in Altersangaben wie in deinem Beispiel finde ich irgendwie fehl am Platze.
Gruß
lorbass
-
- *******
- Beiträge: 1225
- Registriert: So, 14.05.2017 16:11
Re: Datedif in OO Calc benutzen
Hallo,
Gruß Peter.
das Problem, die Funktion Datumdif() gibt es in Open Office Calc nicht.Datedif-Funktion auch für OO Calc nutzen zu können
Gruß Peter.
Win 11 (x64) ▪ LibreOffice 25.2.3.2 (x64) ▪ AOO Portable 4.1.15
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
Re: Datedif in OO Calc benutzen
Unter welchen Umständen, d.h. was tuar Du das dieser Fehler resultiert?Leider bringt mir die bereits auf jener Seite von Stephan gelieferte Antwort einen Script-Fehler
mutmaßlich weil die Makroausführung nicht aktiviert ist.und die auf jener Seite hinterlegte Beispeildatei http://oooforum.de/download/file.php?id ... e24746ac05 nur den Wert #WERT! ein.
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) 236-mal heruntergeladen
-
- Beiträge: 7
- Registriert: Mi, 31.01.2018 14:10
Re: Datedif in OO Calc benutzen
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?
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
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.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?
Gruß
Stephan
-
- Beiträge: 7
- Registriert: Mi, 31.01.2018 14:10
Re: Datedif in OO Calc benutzen
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
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
=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
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
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
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
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
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
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
Moin Stephan,
dumm, das stimmt.... ich hatte das mit dem 6.1.1963 getestet.
mfg
Michael
dumm, das stimmt.... ich hatte das mit dem 6.1.1963 getestet.
mfg
Michael
-
- Beiträge: 7
- Registriert: Mi, 31.01.2018 14:10
Re: Datedif in OO Calc benutzen
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
Gruß
Cunew. Musik
Re: Datedif in OO Calc benutzen
Das Ganze ist doch reine Fleissarbeit.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.
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) 198-mal heruntergeladen
Re: Datedif in OO Calc benutzen
Hallo,
als Spielerei und Ergänzung: Für die Bruchteile eines Tages könnte man auch folgende Zahlenformatierung verwenden:
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"
Gruß,
mikeleb
mikeleb