Excel: Bedingte Formatierung wirkt nicht bei berechneter "Nullzeit"

Chera

Cadet 2nd Year
Registriert
Dez. 2011
Beiträge
29
Guten Tag allerseits!

Ich habe eine halbwegs brauchbare Zeiterfassungstabelle für meinen lokalen Dienstherren erstellt, wobei mir aber in einer Kleinigkeit das Programm einen Strich durch die Rechnung macht: Wenn es keine Überstunden/-minuten zu berechnen gibt, soll das entsprechende Feld einfach leer bleiben. Meine Idee war, eine bedingte Formatierung zu nutzen und bei "Zellwert = 0" als Schriftfarbe die Zellfarbe anzugeben. Vielleicht umständlich (wie sicher manch anderes in der Tabelle), aber hätte funktioniert.
Problem: funktioniert eben nicht. Excel berechnet "keine Überstunden" als "-00:00", und wertet das weder als 0 noch als -0.

Hat jemand eine Idee wie ich das -00:00 wegbekomme?

Auszug der Tabelle ohne Blattschutz ist im Anhang. Die Berechnungsspalten außerhalb des Druckbereichs sind normalerweise ausgeblendet und sollen teilweise dazu dienen, dass ich die Zeiten als 4 stellige Zahl eingeben und mir den Doppelpunkt sparen kann, was auch super klappt mit den Berechnungen.

Danke im Voraus für jeden helfenden und hilfsbereiten Vorschlag!
 

Anhänge

  • Dienstzeiterfassung CB.xlsx
    25,2 KB · Aufrufe: 285
ohne das jetzt großartig angeschaut zu haben: =Wenn(Formel_für_Überstunden=0;"";Formel_für_Überstunden)
damit müssten bei einem 0 die zeile leer sein. Grundsätzlich ist die Formelschreibweise von leer 2x Anführungszeichen aka ""

gruß
Pyrukar
 
An diese einfache Lösung hatte ich zwar nicht gedacht, klappt aber einem Test gerade leider trotzdem nicht, danke dennoch! Die Zellformatierung [hh]:mm sorgt dafür, dass die leere Zelle als -00:00 dargestellt wird.
Du hast mich aber darauf gebracht mal die verschiedenen Zellformatierungen zu betrachten, jetzt weiß ich immerhin, dass da gar nicht 0 ausgegeben wird, sondern "-5,55112E-17".
Völlig logisch.
 
Ich tippe auch auf diese Malaise. Da wird gerechnet und es kommt einfach kein(e) Null bei heraus.
CN8

Nachtrag: Fluch und Segen - an sich ist es ja praktisch mit der Gleitkommazahl als Datumsentsprechnung zu arbeiten, und gelobt sei die Zellformatierung. Aber für präzise Darstellungen müsste ich selbst in Makros mit den Zeitelementen selbst jonglieren wo ich (effektiv) mit Integern umginge.
Hier kann alles darauf rauslaufen hinter den Kulissen zu rechnen und Ergebnisse (Ergebniszellen) durch Anzeigezellen zu schleusen die die Ergebnisse «glätten» (das setze ich bewusst in «»!)
 
  • Gefällt mir
Reaktionen: Chera
Man sollte, meiner Meinung nach, erst so spät wie möglich runden um bis dahin die Genauigkeit der Zahlen auszunutzen. Denn was man sieht ist oft nicht das, was in den Zellen steht :)
 
Das klingt erstmal vielversprechend; ich werd mal schauen ob ich rausfinde wie ich es so runden kann, dass mir keine Minute verloren geht.
 
okay ... nochmal ein kleiner schuss ins blaue ... überstunden < 1min sind vermutlich irrellevant, oder? warum dann nicht einfach die =0 durch <1 ersetzen. Btw Vorsicht schätzungsweise muss da nicht 1 sondern das äquivalent einer Minute in der Darstellung von Excel Zeiteinheiten stehen.

Grundsätzlich geht man mit einem <x Argument diversen Ungenauigkeiten aus dem Weg ... und das kleiner als muss schließlich nur klein genug gewählt werden, dass es irrellevant ist. BTW. Negative Zeiteinheiten sollten bei Excel sowieso Fehler werfen ... sollte das tatsächlich der Fall sein, kann man auch ganz banal mit einer =Wennfehler(Formel_für_Überstunden;"") arbeiten

gruß

Pyrukar
 
  • Gefällt mir
Reaktionen: Chera
Also ich würde runden, und zwar dort, wo zu ersten Mal ganze Minuten gebraucht werden.
Die Nicht-Anzeige von Nullen löst man übrigens in Excel mit der (direkten) Formatierung, im einfachsten Fall hängt man zwei ;; an das benutzerdefinierte Format.
 
  • Gefällt mir
Reaktionen: Chera
Was für ein Trick!! halwe hat das Problem tatsächlich mit zwei Semikola gelöst. Wie einfach es sein kann.

Danke an alle, ich habe wieder etwas gelernt.
EDIT: Und zu früh gefreut, alle negativen Stunden werden ebenfalls ausgeblendet mit dem ;; Trick. Also doch sauber runden :)

Hoffentlich finaler Edit: Der Hinweis mit dem Runden hat mich auf die Suche nach der realen Zahl geschickt, die denn nun tatsächlich berechnet wird. Bei einer Minute ist das etwa 0,00067. Habe jetzt die bedingte Formatierung auf den Bereich zwischen +- 0,0006 gesetzt, und siehe da, man sieht nichts mehr von der negativen Null, so wie es sein soll.

Ich verbleibe mit Dank!
 
Zuletzt bearbeitet: (Lösung)
Ja, hätte ich mehr Zeit, hätte ich den Hintergrund der zwei ;; erläutern können.
Du trennst damit die Formatierung für negative Zahle und Nullwerte ab. Wenn ich mich recht entsinne:
<Standardzahlenformat>;<Format für negative Werte>>;<Format für Nullwerte>
Alles klar?
Übrigens kann man bei der Zahlenformatierung auch Bedingungen einfügen. Hiermit kannst du z. B. alle Werte zwischen -1 und +1 ausblenden;#
[<=-1]-0,00;[<1]"";0,00
Ergänzung ()

PS: Danke für das Lob. Auch wenn du es, vielleicht etwas voreilig, wieder gelöscht hast!;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Chera
Zurück
Oben