Seite 2 von 2

Re: Zeiterfassungstabelle

Verfasst: Do, 17.04.2008 15:54
von Leon777
Hallo AhQ,

danke für den Hinweis :oops: da hab ich den Wald vor lauter Bäumen nicht mehr gesehen!

Die Erklärung zu INDIREKT finde ich sehr gut, jedenfalls denke ich das ich es begriffen habe.
Vielen Dank.

Jetzt funktioniert bis auf eine Formel eigentlich alles. Und bei dieser komme ich nicht mehr weiter.
Der zieht mir ja nun die Feiertage in die Spalte "O" rein. Ich möchte nun wenn es ein gesetzlicher
Feiertag ist daß die Arbeitsstd. auf 0 gesetzt werden.
Hatte in Spalte "D" vorher diese Formel:
=WENN(O17="Urlaub";Urlaub;WENN(O17="Krank";Krank;WENN(O17="½ Urlaub";Urlaubhalb;WENN(O17="Urlaub Zeitkonto";Zeitkonto;WENN(O17="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0)))))))

Ich weiß ist eine etwas lange und besser lösbare Formel, aber sie funktioniert.
Nun möchte ich eigentlich nur das er mir bei den Feiertagen die mit "1" gesetzt sind das er mir dann die Stunden auch auf "0" setzt

habe folgendes probiert:
=WENN(SVERWEIS(B21;Feiertabelle;2;0)=1;Feiertag;WENN(O21="Urlaub";Urlaub;WENN(O21="Krank";Krank;WENN(O21="½ Urlaub";Urlaubhalb;WENN(O21="Urlaub Zeitkonto";Zeitkonto;WENN(O21="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A21);SVERWEIS(C21;Std;2;0);SVERWEIS(C21;Std;3;0))))))))

hier funktioniert das mit den Std. auch, aber nur wenn da auch ein Feiertag ist. Bei allen anderen Tagen zeigt er mir dann "#NV" an.
Nun komme ich nicht weiter, bitte um Hilfe.


Grüße Leon

Re: Zeiterfassungstabelle

Verfasst: Do, 17.04.2008 16:26
von AhQ
hallo Leon,

wenn Du die Formel mal in die Zelle schreibst und sie mit dem Formelassistenten vom Ende her durchklickst, kannst Du sehr schön sehen, welcher Bestandteil Probleme bereitet. Du siehst da immer unten im Eck das Endergebnis und oben im Eck das Teilergebnis edes Formelbestandteils. Da sieht man dann recht bald, daß der erste SVerweis, wenn er das angegebene Datum nicht findet, ein #NV ausspuckt und Dir damit die Formel tötet (außer er findet den Tag als Feiertag, dann gehts natürlich)

Ich hab den Spaß jetzt mal in Folgendes umgeschrieben

=WENN(ISTNV(SVERWEIS(B21;Feiertabelle;2;0));WENN(O21="Urlaub";Urlaub;WENN(O21="Krank";Krank;WENN(O21="½ Urlaub";Urlaubhalb;WENN(O21="Urlaub Zeitkonto";Zeitkonto;WENN(O21="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A21);SVERWEIS(C21;Std;2;0);SVERWEIS(C21;Std;3;0)))))));0)

das ISTNV fängt dabei die Fehlermeldung auf, wenn Fehler, also kein Feiertag, dann der ganze Wenn-Schmodder, wenn kein Fehler, dann Feiertag, also die 0, die da so verloren nach rund 200 Klammern am Schluß steht.

Gratulation, daß Du beim Erstellen der Formel nicht durchgedreht bist! :lol:

Viele Grüße
AhQ

Re: Zeiterfassungstabelle

Verfasst: Di, 22.04.2008 14:29
von Leon777
hallo AhQ,

vielen Dank, nur leider funktioniert der SVERWEIS nicht so wie er gewünscht.
Jetzt macht er mir die Stunden grundsätzlich bei allen Tagen die in der "Feiertabelle" stehen auf 0
Das soll aber nur bei denen mit "1" gekennzeichneten passieren. Die mit "2" sollen ja in der "O" Spalte
angezeigt werden, aber da an diesen gearbeitet wird sollen bei denen die Std. stehen bleiben.

Hatte einiges versucht, z.B. dies =WENN(ISTNV(SVERWEIS(B21;Feiertabelle;2;0))=1; usw. zu lösen, aber da klappt
irgendwie nicht. Komme mir langsam etwas blöde vor, sehe wohl wieder den Wald vor lauter Bäumen nicht.

Was mache ich falsch

Re: Zeiterfassungstabelle

Verfasst: Di, 22.04.2008 15:08
von AhQ
ok, dann bauen wir an geeigneter Stelle mal noch eine Wenn-Verschachtelung ein, die, wenn es ein Feiertag ist, nach der 1 oder 2 abfrägt, bei einer 1 auf 0 stellt, bei einer 2 nach gerader / ungerader Woche abfrägt und dann die Sollstunden nimmt.

Ist ja nicht kompliziert... :lol: ne, eigentlich nicht kompliziert, aber bisl unübersichtlich. Aber wie ich mal an anderer Stelle feststellte: Mut ist, wenn man Todesangst hat, aber sich trotzdem in den Sattel schwingt. (John Wayne)

Also, kopier mal in April.B17 folgende Formel:

=WENN(ISTNV(SVERWEIS(B17;Feiertabelle;2;0));WENN(O17="Urlaub";Urlaub;WENN(O17="Krank";Krank;WENN(O17="½ Urlaub";Urlaubhalb;WENN(O17="Urlaub Zeitkonto";Zeitkonto;WENN(O17="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0)))))));WENN(SVERWEIS(B17;Feiertabelle;2;0)=1;0;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0))))

Da ist hinten, nach dem ))))))) der ganze Schmodder mit diesen Abfragen, die ich oben beschrieben hab. Damit sollte es funktionieren. Im nächsten Schritt kann man ja mal schauen, ob das auch eleganter geht, oder ob der ganzt große Holzhammer wirklich das feinste Instrument ist. :lol: Aber das darfst Du machen.

Viele Grüße
AhQ

Edit: Juchee, ich seh gerade, der letzte Rest der Formel wird einfach abgeschnitten. Dann nochmal, diesmal aber mit Absätzen, die Du dann wieder rausnehmen solltest:

=WENN(ISTNV(SVERWEIS(B17;Feiertabelle;2;0));WENN(O17="Urlaub";Urlaub;WENN(O17="Krank";Krank;WENN(O17="½ Urlaub";Urlaubhalb;WENN(O17="Urlaub Zeitkonto";Zeitkonto;WENN(O17="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0)))))));
WENN(SVERWEIS(B17;Feiertabelle;2;0)=1;0;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0))))

Re: Zeiterfassungstabelle

Verfasst: Di, 22.04.2008 16:24
von balu
Hallo Leon,

ich möchte dir in einer Sache das Leben etwas erleichtern.

Also:
In dem Blatt "Zeiten" markierst Du den Bereich von A13 bis F14. Legst den Namen "Abwesend" an (Strg + F3).
Dann schmeißt Du z.B. im Blatt "April" in B17 diese Formel raus (deine Formel),

Code: Alles auswählen

=WENN(O17="Urlaub";Urlaub;WENN(O17="Krank";Krank;WENN(O17="½ Urlaub";Urlaubhalb;WENN(O17="Urlaub Zeitkonto";Zeitkonto;WENN(O17="Sonderurlaub";Sonderurlaub;WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0)))))))
und setzt dann diese Formel dafür ein.

Code: Alles auswählen

=WENN(ZÄHLENWENN(Abwesend;O17);WVERWEIS(O17;Abwesend;2;0);WENN(ISTGERADE(A17);SVERWEIS(C17;Std;2;0);SVERWEIS(C17;Std;3;0)))
Wie Funktioniert die Formel?
ZÄHLENWENN sucht nach ob im Blatt "Zeiten" im Bereich $A$13:$F$14 der Suchbegriff aus Zelle O17 (z.B. Urlaub)vorhanden ist. Wenn Ja, dann sucht WVERWEIS in dem gleichen Bereich nach dem Suchbegriff aus Zelle O17 (z.B. Urlaub) und gibt aus der zweiten Zeile (die 2 ist der dritte Parameter) der Suchmatrix $A$13:$F$14 den dazugehörigen Wert zurück.
Und schon ist ein weiterer Schritt richtung "Einfachheit" und "Übersichtlichkeit" getan. :mrgreen:

Ich weiss nicht, ob ich noch dazu kommen werde um mich mit deinem Feiertagsproblem zu beschäftigen. Aber ich denke mir mal das mit meiner neuen Formel dir auch schon etwas geholfen ist.

Gruß
balu

Re: Zeiterfassungstabelle

Verfasst: Di, 22.04.2008 16:38
von AhQ
Hallo Balu,

das hätte ich auch noch gerade rausfinden können. Aber kaum steht mal ne Liste nebeneinander und nicht untereinander denkt man nicht mehr an WVERWEIS, sondern an gar nix...

Oh Mann... *ansHirnklopf*

Viele Grüße
AhQ

Re: Zeiterfassungstabelle

Verfasst: Di, 22.04.2008 17:56
von balu
Hallo AhQ,

mach dir nichts draus. Kommt schon mal vor.Bild
AhQ hat geschrieben: Oh Mann... *ansHirnklopf*
Mach das bloß nicht zu oft, sonst Bild

Gruß
balu