Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeitberechnung und Formatierung
#1
Hallo zusammen,

ich möchte für meinen Ferienjob eine Arbeitszeittabelle erstellen (und dabei Excel üben), aber mit der bedingten Formatierung hauts nicht so ganz hin, weil Excel 365 bei der Zeitberechnung gerne mal die 00:00 Überstunden als -00:00 Überstunden schreibt. Ich habe schon gegooglet, aber nichts spezifisches für mein Problem gefunden. Die 1904-Datumswerte sind bereits aktiviert.

Mein Problem seht Ihr in Mappe1 ab Zeile 5. Durch die -00:00, färbt Excel auch die Zellen rot. dabei sollten sie eigentlich schwarz bleiben, da "0", hab ja die bedingten Formatierungen >0 machts grün, <0 machts rot.

Ich hoffe, Ihr Excel-Profis könnt mir einen Tipp geben, was ich falsch macheSmile

Vielen Dank

Tobi


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 10,97 KB / Downloads: 6)
Antwortento top
#2
(19.11.2020, 08:04)MeierTobi345 schrieb: Mein Problem seht Ihr in Mappe1 ab Zeile 5.

Moin Tobi!
Du hast vergessen, "Attachment hinzufügen" anzuklicken.

Allgemein würde ich schätzen, dass Du ein Rundungsproblem wegen der Fließkommaproblematik hast.
Du könntest folglich auf eine Minute (ist ein 1440stel Tag) VRUNDEN()

=VRUNDEN("0:00:01";1440)

Gruß Ralf

Yepp, ich habe mich oben nicht geirrt. Wink
Ab E4: =WENN(A4<>0;RUNDEN((D4-$L$3)*1440;0)/1440;"")

(warum es hier VRUNDEN() nicht tut, muss ich noch eruieren)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#3
Moin Ralf, 

Da warst du wohl schneller als die Polizei erlaubt :D

In Spalte E führt =WENN(A6<>0;VRUNDEN(D6-$L$3;1440);"") leider zu einem Zahlenfehler. Theoretisch sollte Excel ja auch nirgendwo angebrochene Minuten haben, die gerundet werden müssen.

Grüße
Tobi


________________________
Edit: Gott, bist du schnell! Und Wahnsinn, es hat geklappt! Super, danke dir! (Und ich depp hab gestern abend 3h an dem Problem gesessen :D)
Antwortento top
#4
Moin

Zitat:(warum es hier VRUNDEN() nicht tut, muss ich noch eruieren)

1/1440

Gruß Elex
[-] Folgende(r) 1 Benutzer sagt Danke an Elex für diesen Beitrag:
  • RPP63
Antwortento top
#5
33
ABER, Elex:
VRUNDEN() kommt nicht mit der negativen Zeit in E2 klar:

ABCDE
2StartEndePauseGesamtÜberstunden
307:3116:0000:3007:59#ZAHL!

ZelleFormel
D3=B3-A3-C3
E3=VRUNDEN(D3-L3;1/1440)

Zellebedingte Formatierung...Format
E31: Zellwert ist kleiner =0abc
E32: Zellwert ist größer =0abc

Die Online-.Hilfe schreibt folgendes:
Zitat:◾Die Zahl und mehrere Argumente müssen dasselbe Vorzeichen haben. Wenn dies nicht der Fall ist, wird ein #NUM-Fehler zurückgegeben.

Mit -1/1440 klappt es dann wieder …

Wäre dann etwas ungelenk:
=WENN(A5<>0;VRUNDEN(D5-$L$3;VORZEICHEN(D5-$L$3)*1/1440);"")

(dann ist meine "alte" Methode oben ja schon wieder kürzer …)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#6
Hi


Zitat:weil Excel 365 bei der Zeitberechnung gerne mal die 00:00 Überstunden als -00:00 Überstunden schreibt
Das Problem entsteht bei mir nur wenn die Berechnung in der WENN Formel steht.

=WENN(A3<>0;D3-$L$3;"")    = -00:00
=D3-$L$3     = 00:00   'Hier besteht das Problem dann nicht

alternativ zur Wennformel
=(A3<>"")*D3-(B3<>"")*$L$3       = 00:00     'Hier besteht das Problem dann auch nicht
ODER
=D3-(B3<>"")*$L$3

Gruß Elex
Antwortento top
#7
Hallo Elex,

Zitat:  "=D3-$L$3     = 00:00   'Hier besteht das Problem dann nicht"
Weil diese Zelle größer Null ist! Die anderen Zellen sind aber kleiner Null!!  Formatiere die betreffenden Zellen mit "Standard" dann siehst du was wirklich in der Zelle steht.

Sigi
Antwortento top
#8
Lasse mal die Formelauswertung in E5 laufen.
Die Subtraktion lautet
0,333333333333333 - 0,333333333333333
und ergibt
5,55111512312578E-15
(was ja meiner Anmerkung zur Gleitkommaproblematik entspricht)

Und ja:
entferne ich das WENN-Konstrukt (in eben dieser Zelle, Sigi), ist das Ergebnis 0

Sind wir da einem Käferchen auf der Spur?
Denn eine vernünftige Erklärung dazu habe ich nicht.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#9
@RPP63:  Ich bezog mich eigentlich auf das Ausgangsbeispiel von Elex.  Mit "Standard" sieht er sofort, was in der Zelle steht.

@Elex: Rechne mit ganzen Minuten/Sekunden (je nach Genauigkeit), dann entgehst du dem Thema Gleitkommaarithmetik. (s. Mappe)

Sigi


Angehängte Dateien
.xlsx   Zeitberechnung.xlsx (Größe: 11,12 KB / Downloads: 4)
Antwortento top
#10
Hi Tobi und @All

Das Problem ist L3.
Schreibe in L3 die Formel und es sollte kein Problem mehr entstehen, auch nicht mit der Wennformel.
=(24*L5/5)/24
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste