openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolfgang Jäth <jawo.ml.hams...@arcor.de>
Subject Re: Fehler auf der Foren und Newsgroups Webseite
Date Tue, 19 Jul 2016 05:41:06 GMT
Am 18.07.2016 um 16:27 schrieb Preisinger:
> 
> Legende:
> 
> A:    Datum
> B:    Wochentag
> C:    Hinweise: Feiertatg = doppelte Stundenanzahl, sonst normale
> D:    Beginn Arbeitszeit lt. Stechuhr
> E:    Ende Arbeitszeit lt. Stechuhr
> F:    Anzahl der Stunden, errechnet mit der Formel: "E-D"
> G:    Summe der monatlichen Stunden
> H:    Soll-Arbeitszeit in Std.
> I:     Differenz der Ist-Std. F zu Soll-Std. H
> J:    Summe der Differenz-Std. mtl. Saldo
> 
> Formeln:
> 
> =WENN(D10="";"";WENN(D10<"6:00";"6:00"-D10;WENN(E10>"21:00";"24:00"-E10;""))) 
 

Leider schreibst Du nicht, zu welcher Spalte diese Formel (und auch die
anderen) gehört, bzw. was diese Formel genau darstellen soll.

> - diese Formel funktioniert einwandfrei

Eher nein; bzw. wenn dann nur zufällig.

Calc kann zwar Zahlen in Texten erkennen, und diese ggf. automatisch in
entsprechende Zahlen umwandeln, aber das tut es nur bei
*Rechenoperationen*, nicht bei *Vergleichen* o. ä. Kannst *Du* Dir etwa
ein sinnvolles Ergebnis unter '8<Stuttgart' vorstellen?

Du musst also statt mit /Texte/ mit *Zahlen* arbeiten. Dafür gibt es an
sich die Funktion ZEITWERT. Einfacher ist es IMHO aber, direkt den
entsprechenden Zahlenwert zu verwenden. Dazu muss man nur wissen, dass
bei der internen Darstellung von Zeit- und Datumswerten bei Calc der
Wert 1 einem Tag entspricht, und Uhrzeiten einfach durch entsprechende
Dezimalbrüche ausgedrückt werden. So wird z. B. die Uhrzeit 6:00 intern
als 0,25 (6/24 = 0,25 Tage) dargestellt.

Die Formel müsste also wenn überhaupt dann

|
=WENN(D10="";"";WENN(D10<(6/24);(6/24)-D10;WENN(E10>(21/24);(21/24)-E10;"")))


lauten.

Übrigens würde auch 'E27>("21:00"+0)' funktionieren, da der Text hier
zuerst in einer Rechenoperation verwendet und damit auch automatisch
konvertiert wird.

Allerdings verstehe ich den Sinn der Formel nicht. Und insbesondere
fällt mir auch die Fehler*in*tolleranz auf, d. h. was passiert, wenn
D10<6:00 *und* E10>21:00 ist; oder wenn in eine oder beiden Zellen Werte
> 1 Tag stehen. *Ich* zum Bleistift hätte überall da, wo die Werte
tatsächlich *Uhrzeiten* darstellen, und nicht *Stunden*,
sicherheitshalber auch ein entsprechendes 'REST(D10;1)' usw. verwendet).

> die analoge Formel zur Berechnung der Spätstunden jedoch funktioniert nicht:
> 
> =WENN(D27="";"";WENN(E27>"21:00";"24:00"-E27;""))   - diese Formel
> ergibt den Wert "16:38", bzw. den Wert "00:00" beim Weglassen der beiden "".

Die Formel

| =WENN(D27="";"";WENN(E27>(21/24);1-E27;""))

liefert den Wert 0,0388888889 aka 00:56:00. Den Wert "16:38" kann ich
überhaupt nicht nachvollziehen; der hat keinerlei erkennbare Relation zu
dem Wert in E27 (23:04).

> Mit einer Umstellung der Formel (zu Testzwecken) jedoch funktioniert die
> Formel, wenn auch logisch falsch:
> 
> =WENN(E27>"21:00";E27;"24:00"-E27)   ergibt das richtige Ergebnis "0:56"

Weil die "richtige" Berechnung hier im FALSCH-Zweig angesiedelt ist.

> Außerdem trat bei der Addition der Stunden auf, dass die Stunden zwar
> richtig addiert werden, jedoch beim "Überlauf" über die 24:00 Std. die
> Zahlen wieder mit "1:00" beginnen und die Stunden nicht über die "24:00"
> hinaus angezeigt werden, obwohl sie "intern" für den PC richtig saldiert
> werden. Wie ist es möglich, diese Stundenanzahl korrekt darzustellen?

"Format => Zellen => Zahlen => Format-Code: [HH]:MM"; dann wird der Wert
als *Zeitdauer* dargestellt, nicht als *Zeitpunkt*.

> Nach meinem bisherigen Verständnis funktioniert die logische Abfrage
> "größer als" nicht oder falsch, zumindest nicht in der gleichen Weise
> wie mit der Funktion "kleiner als".

Nein; nur liefert halt '8>Stuttgart' genauso den Ergebniswert FALSCH wie
'8<Stuttgart'.

> Bisherige Formeln mit der Funktion haben nach meiner Erinnerung immer
> richtig funktioniert, nur mit Zeitangaben hatte ich sie bisher nicht
> verwendet.

Du verwendest sie auch hier nicht wirklich mit Zeitangaben, sondern mit
Texten (die halt zufälligerweise Zeitangaben ähneln, und Dich daher in
die Irre führen).

Wolfgang
-- 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message