Hallo Leute.
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)
Dies sollte sicherstellen dass die linken beiden Zahlen zwischen 0 und 23 und die rechten beiden Zahlen zwischen 0 und 59 sein sollen, bzw wenn nicht die Zelle Rot einfärben.
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))
ergibt:
Soweit alle in Ordnung.
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
ergibt:
Jetzt stellt sich mir die Frage warum mein OOCalc der Meinung sei dass
20 größer ist wie
23 sowie auch
30 größer ist wie
59....
OOCalc mach dies übrigends auch wenn ich ohne Zellenformatierung arbeite.
Sprich:
Raffe ich da irgendetwas nicht, oder hab ich da irgendwo 'n Denkfehler drin?
Ich hoffe ihr könnt mir helfen
MfG
Patrick
Hallo Leute.
[b][i]Apache OpenOffice 4.1.3
AOO413m1(Build:9783)-Rev. 1761381 / 2016-09-29 02:39:19[/i][/b]
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 [b]00":"00[/b].
Dies ermöglicht das die Eingabe einer Zahl (1 bis 4-stellig) aus z.B. [b]1405[/b] zu [b]14:05[/b], oder [b]30[/b] zu [b]00:30[/b] 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:
[size=85]Diese ist allerdings für mein Problem nicht relevant.
Sie sieht zwar nicht gerade praktisch aus, aber funktioniert.[/size]
[code]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))
;"--")[/code]
Nun wollte ich für die Spalten, in der die Zeiten (oder besser gesagt Zahlen) im Format [b]00":"00[/b] eingegeben werden, eine Fehlerabfrage erstellen.
Es kann ja sein, dass man versehentlich [b]2566[/b] hineinschreibt, was dann [b]25:66[/b] 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 [b]2030[/b] zu stehen was als [b]20:30[/b] angezeigt wird. Es sind jedoch nur 4 Zeichen.
Nun habe ich folgende Formel zusammengebastelt:
[code]=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)[/code]
Dies sollte sicherstellen dass die linken beiden Zahlen zwischen 0 und 23 und die rechten beiden Zahlen zwischen 0 und 59 sein sollen, bzw wenn nicht die Zelle Rot einfärben.
Nun wird die Zelle bei [b]2030[/b] aber trotzdem Rot eingefärbt...
Also habe ich alle vier Abfragen einzeln direkt in die Tabelle geschrieben:
[code]=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]
ergibt:
[code]20
30[/code]
Soweit alle in Ordnung.
Alle vier Abfragen, in dem Falle von [b]2030[/b], sollten FALSCH ergeben.
Jedoch bekomme ich folgende Ausgabe:
[code]=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]
ergibt:
[code]FALSCH
WAHR
FALSCH
WAHR[/code]
Jetzt stellt sich mir die Frage warum mein OOCalc der Meinung sei dass [b]20[/b] größer ist wie [b]23[/b] sowie auch [b]30[/b] größer ist wie [b]59[/b]....
OOCalc mach dies übrigends auch wenn ich ohne Zellenformatierung arbeite.
Sprich:
[code]A1=20
A2=Links(A1;2)=20
A3=Links(A1;2)>23=WAHR[/code]
Raffe ich da irgendetwas nicht, oder hab ich da irgendwo 'n Denkfehler drin?
Ich hoffe ihr könnt mir helfen :)
MfG
Patrick