suche eine Formel für Tabelle

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
ver2felterUser69
**
Beiträge: 20
Registriert: Fr, 20.07.2012 00:04

suche eine Formel für Tabelle

Beitrag von ver2felterUser69 »

suche eine formel für Tabelle

guten abend,

wer kann mir mit einer formel für eine tabelle helfen?

gesucht wird: ich möchte die anzahl der tage errechnen. ich habe ein anfangs- und enddatum.

=sum(<datum2>-<datum1>)/10000 ist das richtig?

ich bekomme stets werte (anzahl der tage) , die nicht stimmen.

wer weiß es besser?

danke in die runde.

gruß aus berlin - ver2felter user 69
"Wissen ist Macht - ich bin ohnmächtig!" c Sz
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: suche eine Formel für Tabelle

Beitrag von clag »

Hallo ver2felterUser69,

warum /10000?
Tage_berechnen.png
Tage_berechnen.png (3.52 KiB) 2484 mal betrachtet
einfacher geht es kaum :)
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: suche eine Formel für Tabelle

Beitrag von Hiker »

Hallo,
clag hat geschrieben:warum /10000?
ich schätze er hat da noch irgendwas über "internes Format von Timestamps" gelesen, was er hier aber nicht braucht.
(Und wenn ich mich recht errinnere waren Timestamp/10000 leider auch noch Stunden und nicht Tage).

MfG, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Benutzeravatar
ver2felterUser69
**
Beiträge: 20
Registriert: Fr, 20.07.2012 00:04

Re: suche eine Formel für Tabelle

Beitrag von ver2felterUser69 »

Hallo, Clag und Hiker,

mein Fehler! Ich habe es wohl zu ungenau beschrieben. Vorerst schon einmal danke.

Ich habe eine Tabellenzeile mit An- und Abreisedaten.
Diese Daten werden aus der Datenbank übertragen.
Nun soll die Tagesanzahl in der Zeile unter 'Anzahl' automatisch errechnet werden.
Diese Anzahl der Tage werden dann mit dem Grundpreis multipliziert um den Endbetrag zu erhalten.

>>>siehe Attachments<<<
formel_bube_01 - so sollte es dargestellt werden
formel_bube_02 - so erhalte ich es meistens, obwohl ich die gleiche Formel verwende.

Worin liegt mein un/logischer Fehler?

Danke für Ihre Hilfe.
Gruß - Ver2felter User69
formel_bube_02.jpg
formel_bube_02.jpg (37.55 KiB) 2426 mal betrachtet
formel_bube_01.jpg
formel_bube_01.jpg (34.87 KiB) 2426 mal betrachtet
"Wissen ist Macht - ich bin ohnmächtig!" c Sz
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: suche eine Formel für Tabelle

Beitrag von mikeleb »

Hallo,
es ist schon hilfreich, wenn du erwähnen würdest, dass es nicht um calc sondern um writer geht ...
Es sollte die Differenz reichen:

Code: Alles auswählen

=<C2>-<A2>
Gruß,
mikeleb
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: suche eine Formel für Tabelle

Beitrag von F3K Total »

Moin,
ver2felterUser69 hat geschrieben:Diese Daten werden aus der Datenbank übertragen.
Das ist das Problem, die Datenbank liefert Text der wie ein Datum aussieht.
Wenn ich einen Datenbankfeldbefehl mit dem Datum 28.05.15 in Zelle A1 schreibe, und dann in B1 die Formel =<A1>, dann steht in B1
280515, entsprechend Zweihundertachtzigtausendfünfhundertfünfzehn.
Wenn ich nun den 07.06.15 in Zelle A2 schreibe, und dann in B2 die Formel =<A2>, dann steht in B2
70615, entsprechend Siebzigtausendsechshundertfünfzehn, d.h. die vordere Null verschwindet.
70615-280515 = -209900, teile ich das Ergebnis durch 10000 komme ich genau auf dein Ergebnis -20,99.
So geht das nicht.
Eine Möglichkeit ist es, dem Feldbefehl ein anderes Format zuzuweisen (rechte Maus auf den Feldbefehl, Felder ... ,Benutzerdefiniert, weitere Formate -> auf Zahl, Standard, dann steht in A1 die Datumszahl 42152 und in A2 die Datumszahl 42162, deren Differenz ist 10, so wie es sein muss.
Einfacher ist es, innerhalb der Datenbank die Differenz mit Datediff() in einer Abfrage zu berechnen.

Code: Alles auswählen

DATEDIFF('DD',"Anreisedatum","Abreisedatum")
Gruß R
Benutzeravatar
ver2felterUser69
**
Beiträge: 20
Registriert: Fr, 20.07.2012 00:04

Re: suche eine Formel für Tabelle

Beitrag von ver2felterUser69 »

F3K Total hat geschrieben:Einfacher ist es, innerhalb der Datenbank die Differenz mit Datediff() in einer Abfrage zu berechnen.

Code: Alles auswählen
DATEDIFF('DD',"Anreisedatum","Abreisedatum")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hallo, F3K Total,

bitte verrate mir noch, wo ich diesen Code in meiner Tabelle einfügen soll.

Die 1. Variante funktioniert gut, doch mit den Zahlen, die sich ergeben,
kann der Gast nix anfangen - das irritiert nur.
Ich brauche schon die exakte Datumsanzeige.

Gruß - Ver2felter User 69 aus Berlin
"Wissen ist Macht - ich bin ohnmächtig!" c Sz
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: suche eine Formel für Tabelle

Beitrag von Hiker »

Hallo,
ver2felterUser69 hat geschrieben:bitte verrate mir noch, wo ich diesen Code in meiner Tabelle einfügen soll.
wenn ich das richtig sehe hast Du das mißverstanden: F3K Total schlug vor, die Datumsdifferenz schon in der Datenbank zu berechnen.
Sein Code müsste also dort in die Export-Routine eingebaut werden (und ob das funktioniert, hängt natürlich von Eurer Datenbank ab, über die Du bisher nichts weiter erwähnt hast).

Ich persönlich würde das Formular für den Gast, das Du hier teilweise abgebildet hast einfach in Calc (nicht Writer) neu aufbauen. Deine Abbildungen zeigen nichts, was Calc nicht nachbilden kann. Und die Datumsberechnungen lassen sich in Calc etwas einfacher machen.
Aber das ist teilweise Gewohnheitssache.

In Writer würde ich versuchen die Zeile mit den Reisedaten zu duplizieren, da Writer offensichtlich je nach Anzeigeformat unterschiedlich rechnet.
In der duplizierten Zeile sollten die Reisedaten wie von F3k Total vorgeschlagen als für Euren Gast unverständliche Zahlen stehen, die dann aber für die Berechnung der Tageszahl verwendet werden.
Als letzten Schritt, wenn obiges funktioniert, werden die Zahlen dann vor dem Gast versteckt: Bei Writer kann man wohl keine Tabellenzeilen einfach ausblenden, wie in Calc, aber Du kannst z.B. eine Zeile markieren und über das Kontextmenü die Höhe auf 0 setzen (! KEINE dynamische Höhenanpassung zulassen).

MfG, Jörn

PS: Irgendwie steht dieser Thread im falschen Forumsteil :-)
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: suche eine Formel für Tabelle

Beitrag von F3K Total »

Hi,
ver2felterUser69 hat geschrieben:Diese Daten werden aus der Datenbank übertragen.
ver2felterUser69 hat geschrieben:bitte verrate mir noch, wo ich diesen Code in meiner Tabelle einfügen soll.
Ich habe angenommen, du würdest deine Daten in einer Base-Datenbank (.odb) verwalten. Die hat üblicherweise eine eingebettete HSQL Datenbank.
Hier kann man Abfragen erzeugen, in denen man mit DATEDIFF(), wie der Befehl schon sagt, Datumsdifferenzen berechnen kann.
Diese Abfragen kann man, genau wie eine Tabelle, zur Füllung von Feldbefehlen in einem Writer Dokument verwenden.
Hiker hat geschrieben:... und ob das funktioniert, hängt natürlich von Eurer Datenbank ab, über die Du bisher nichts weiter erwähnt hast
Ganz genau, welche Art von Datenbank verwendest Du?
Gruß R
Antworten