Apache OpenOffice 4.1.3
AOO413m1(Build:9783)-Rev. 1761381 / 2016-09-29 02:39:19
Ich bin bei der Erstellung einer Tabelle zur Erfassung der Arbeitszeiten auf ein kurioses Problem gestoßen und beiße mir daran gerade die Zähne aus..
Hauptkriterium ist, dass man die Zeiten ohne Doppelpunkt eingeben kann.
Dies habe ich gelöst durch folgende Zellenformatierung 00":"00.
Dies ermöglicht das die Eingabe einer Zahl (1 bis 4-stellig) aus z.B. 1405 zu 14:05, oder 30 zu 00:30 umgeandelt wird.
Dazu kommt dann noch eine Spalte wo die Pausenzeit eingegeben wird und eine weitere Spalte in der alles miteinander Verrechnet wird.
Und bis hier funktioniert auch alle einwandfrei.
Für die die die Formel der Gesamtberechnung haben wollen/brauchen:
Diese ist allerdings für mein Problem nicht relevant.
Sie sieht zwar nicht gerade praktisch aus, aber funktioniert.
Code: Alles auswählen
Spalte F -> Anfang, Spalte G -> Ende, Spalte H -> Pause
=WENN(UND(ISTZAHL(F8);ISTZAHL(G8))
;WENN(G8<=F8;ZEIT(23;59;0)+ZEIT(0;1;0)
-ZEIT(LINKS(F8;WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)));RECHTS(F8;WENN(LÄNGE(F8)>1;2;1));0)
+ZEIT(LINKS(G8;WENN(LÄNGE(G8)=4;2;WENN(LÄNGE(G8)=3;1;0)));RECHTS(G8;WENN(LÄNGE(G8)>1;2;1));0)
-ZEIT(LINKS(H8;WENN(LÄNGE(H8)=4;2;WENN(LÄNGE(H8)=3;1;0)));RECHTS(H8;WENN(LÄNGE(H8)>1;2;1));0)
;ZEIT(LINKS(G8;WENN(LÄNGE(G8)=4;2;WENN(LÄNGE(G8)=3;1;0)));RECHTS(G8;WENN(LÄNGE(G8)>1;2;1));0)
-ZEIT(LINKS(F8;WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)));RECHTS(F8;WENN(LÄNGE(F8)>1;2;1));0)
-ZEIT(LINKS(H8;WENN(LÄNGE(H8)=4;2;WENN(LÄNGE(H8)=3;1;0)));RECHTS(H8;WENN(LÄNGE(H8)>1;2;1));0))
;"--")
Nun wollte ich für die Spalten, in der die Zeiten (oder besser gesagt Zahlen) im Format 00":"00 eingegeben werden, eine Fehlerabfrage erstellen.
Es kann ja sein, dass man versehentlich 2566 hineinschreibt, was dann 25:66 ergeben würde, was natürlich absurd ist.
Dazu will ich die jeweilige Zelle, in der ein falscher Wert eingegeben wird, mit einer bedingten Formatierung Rot einfärben.
Und daran scheiter ich gerade...
Ich habe beispielsweise in einer Zelle 2030 zu stehen was als 20:30 angezeigt wird. Es sind jedoch nur 4 Zeichen.
Nun habe ich folgende Formel zusammengebastelt:
Code: Alles auswählen
=ODER(
LINKS(F8; WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)) )<0;
LINKS(F8; WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)) )>23;
RECHTS(F8; WENN(LÄNGE(F8)>1;2;1) )<0;
RECHTS(F8; WENN(LÄNGE(F8)>1;2;1) )>59)
Nun wird die Zelle bei 2030 aber trotzdem Rot eingefärbt...
Also habe ich alle vier Abfragen einzeln direkt in die Tabelle geschrieben:
Code: Alles auswählen
=LINKS(F8; WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)))
=RECHTS(F8; WENN(LÄNGE(F8)>1;2;1))
Code: Alles auswählen
20
30
Alle vier Abfragen, in dem Falle von 2030, sollten FALSCH ergeben.
Jedoch bekomme ich folgende Ausgabe:
Code: Alles auswählen
=LINKS(F8; WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)) )<0
=LINKS(F8; WENN(LÄNGE(F8)=4;2;WENN(LÄNGE(F8)=3;1;0)) )>23
=RECHTS(F8; WENN(LÄNGE(F8)>1;2;1) )<0
=RECHTS(F8; WENN(LÄNGE(F8)>1;2;1) )>59
Code: Alles auswählen
FALSCH
WAHR
FALSCH
WAHR
OOCalc mach dies übrigends auch wenn ich ohne Zellenformatierung arbeite.
Sprich:
Code: Alles auswählen
A1=20
A2=Links(A1;2)=20
A3=Links(A1;2)>23=WAHR
Raffe ich da irgendetwas nicht, oder hab ich da irgendwo 'n Denkfehler drin?
Ich hoffe ihr könnt mir helfen

MfG
Patrick