Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeiterfassung: Formeländerung

Zeiterfassung: Formeländerung
06.02.2005 21:16:45
Fritz
Hallo,
die folgende Formel berechnet in der 4. WENN-Bedingung die Arbeitszeit für Samstag ("Sa") zwischen 13 u. 24 Uhr.
Es können max. 2 Zeiträume angegeben werden, also z.B. 8 -14 Uhr u. 15 - 22 Uhr.
Das Ergebnis wäre in diesem Fall 8 Stunden (1 + 7).
Wer kann die Formel so ändern, dass nicht der Zeitraum zwischen 13 u. 24 Uhr
sondern zwischen 12 u. 24 Uhr ausgewertet wird?
=WENN(ODER(B21="So";B21="wft");J21;WENN(ODER(B21="Mo";B21="Di";
B21="Mi";B21="Do";B21="Fr");"";WENN(UND(B21="Sa";ISTLEER(E21));"";
WENN(B21="Sa";(MAX(;MIN($E21+($D21&gt$E21);MAX((S$2&gtS$3);
S$3))-MAX($D21;S$2))+MAX(;MIN($E21;MAX((S$2&gtS$3);
S$3))-MAX(;S$2))*($D21&gt$E21)+MAX(;MIN($E21+($D21&gt$E21);
MIN((S$2&gtS$3);S$3))-MAX($D21;))+MIN($E21;MIN((S$2&gtS$3);S$3))
*($D21&gt$E21)+MAX(;MIN($G21+($F21&gt$G21);MAX((S$2&gtS$3);S$3))
-MAX($F21;S$2))+MAX(;MIN($G21;MAX((S$2&gtS$3);S$3))
-MAX(;S$2))*($F21&gt$G21)+MAX(;MIN($G21+($F21&gt$G21);
MIN((S$2&gtS$3);S$3))-MAX($F21;))+MIN($G21;MIN((S$2&gtS$3);
S$3))*($F21&gt$G21))*24;))))
Danke für eure Mühe!
Fritz

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: evtl Morgen - Gute Nacht! - owT
Luc
AW: evtl Morgen - Gute Nacht! - owT
07.02.2005 21:33:11
Fritz
Hallo Luc,
da mich diese Formel total überfordert wäre es super, wenn Du mir
da weiterhelfen könntest.
Gruß Fritz
AW: Zeiterfassung: Formeländerung
Luc
Hallo Fritz,
mit solchen Bandwurmformeln kannst du die Gemeinde wohl nicht gerade begeistern. Ist total unübersichtlich und mühevoll hineinzudenken. Sowas sollte man nur im Notfall machen! Einen anderen Weg kann ich dir aber so nicht vorschlagen. Jedenfalls habe ich mich der Mühe unterzogen und die Formel analysiert und formalisiert, damit sie verständlicher wird (schätze, du hast da auch Probleme mit). Scheint alles in sich folgerichtig zu sein, aber wie du da Zeiten ändern willst, ist mir nicht ganz klar. Hängt das nicht in erster Linie vom Zellinhalt ab? Die Formel selbst arbeitet doch nur mit Wahrheitswerten aus Zellvergleichen, die außerdem noch addiert/subtrahiert/multipliziert wdn (wohl um die Wenn-Schachtelung nicht zu lang wdn zu lassen). Das müsste alles im Zusammenhang neu durchdacht wdn. Vorerst schicke ich dir mal meine Formalisierung. Vielleicht hilft dir das weiter. Übrigens kannst du aus ihr erkennen, dass du 4 sich wiederholende Teile aus der Hauptformel (4.Wenn) isolieren könntest und unter eigenen Namen, die du dann nur in die Hauptformel einsetzen musst, in der Namensliste des Blattes speichern kannst (Menü Einfügen - Namen - Definieren). Das würde alles schon viel übersichtlicher machen. Auch Zellbereichen kann man Namen geben, die in Formeln besser aussehen als direkte Zellbezüge - und xl hat noch eine Möglichkeit - Beschriftung in Formeln zulassen (Menü Extras - Optionen - Berechnung). Dabei handelt es sich um Spalten- bzw Zeilentitel, die ähnlich wie Bereichsnamen in Formeln verwendet wdn können, wenn das Häkchen gesetzt wird. Notation ist aber etwas anders als bei Namen.
So hier die Formalisierung des Formelteils in der 4.Wenn-Klausel:
(
max(0,min(Y,X)-max(d,s))+
max(0,min(e,X)-max(0,s))*d&gte+
max(0,min(Y,N)-max(d,0))+
min(e,X)*d&gte+
max(0,min(Z,X)-max(f,s))+
max(0,min(g,X)-max(0,s))*f&gtg+
max(0,min(Z,N)-max(f,0))+
min(g,N)*f&gtg
)*24
für N=min(s&gtz,z); X=max(s&gtz,z);
Y=e+d&gte; Z=g+f&gtg; 0=FALSCH/LEER
für d,e,f,g,s,z = D21,E21,F21,G21,S2,S3
Übrigens liefert die Gesamtformel den Wert FALSCH, wenn keine der Bedingungen erfüllt ist. Ich hoffe, das ist beabsichtigt.
Ich hoffe, das hilft dir weiter
Gruß Luc
Anzeige
AW: Zeiterfassung: Formeländerung
08.02.2005 07:23:59
Fritz
Hallo Luc,
damit hast Du mir schon sehr weitergeholfen!
Wie gesagt, ich habe diese Formel auch nur übernommen und im Detail
nicht verstanden. Sie hat aber den großen Vorteil, dass sie funktioniert!
D. h. dass sie in der 4. Wenn-Klausel tasächlich die Arbeitszeiten zwischen
13 u. 24 Uhr erfasst, obwohl ich den Wert "13" nirgends entdecke!
Das Problem ist, 13 Uhr durch 12 Uhr zu ersetzen, aber wo?
Ansonsten werde ich Deinen Vorschlag aufgreifen und das ganze modular aufbauen!
Nochmal vielen Dank für Deine tolle Unterstützung!!!
Fritz
AW: freut mich! ToiToi! owT
Luc

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige