Clever-Excel-Forum

Normale Version: Indirekt/Sverweis/Nettoarbeitstage
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

ich habe ein Problem mit meiner Formel zur Berechnung von Nettoarbeitstagen. Der erste Teil der Formel zur Ermittlung von Arbeitstagen funktioniert. Sobald aber das Ausgangsdatum mit den Daten in der Tabelle Kalender nicht übereinstimmt kommt ein falscher Wert raus. In Zeile 9 müssten nur 3 Tage überzogen stehen.

Da ich mit einer Indirekt Formel arbeiten muss (verschiedene Werke mit unterschiedlichen Betriebsferien/Feiertage gleich), greift diese Formel nicht im zweiten Teil der Formel.

Gibt es eine Lösung. Danke für Eure Hilfe und einen guten Rutsch in neue Jahr.

Gerd
(30.12.2016, 20:22)Gerd schrieb: [ -> ]Hallo Zusammen,

ich habe ein Problem mit meiner Formel zur Berechnung von Nettoarbeitstagen...

Hallo, oha, wohl nicht das einzige Problem

(30.12.2016, 20:22)Gerd schrieb: [ -> ]...
Da ich mit einer Indirekt Formel arbeiten muss ...
Gerd

Das verstehe ich nicht...
Hi

ich verstehe den Fehler nicht, WA ist am 12.08, WE am 17.08, das sind 4 (Netto)Arbeitstage, also ohne Wochenende, so rechnet auch die Formel, Feiertage gibt es ja keine(du kannst das INDIREKT() hier auch mal wegnehmen zur Prüfung). Um die Laufzeit zu errechnen musst du wie in der 2. NETTO...() Formel noch einen Tag abziehen!

Oder anders ausgedrückt, wenn du am 11.08 versendest und Eingang ist am 12.08 dann sind das 2 Werktage jedoch nur ein Tag Laufzeit

Ansonsten würde mich selbst interessieren ob man das auch ohne Indirekt() hinbekommt, ich bin ja leider nicht so der Formelfreak...

@Jockel: Mit Indirekt() wird per SVERWEIS() ein NAME ermittelt! Dieser benannte Bereich enthält dann die Feiertage für das jeweilige Werk, in diesem Fall WERK11
(31.12.2016, 02:20)Winny schrieb: [ -> ]Hi

ich verstehe den Fehler nicht, WA ist am 12.08, WE am 17.08, das sind 4 (Netto)Arbeitstage, also ohne Wochenende, so rechnet auch die Formel, Feiertage gibt es ja keine(du kannst das INDIREKT() hier auch mal wegnehmen zur Prüfung). Um die Laufzeit zu errechnen musst du wie in der 2. NETTO...() Formel noch einen Tag abziehen!

Oder anders ausgedrückt, wenn du am 11.08 versendest und Eingang ist am 12.08 dann sind das 2 Werktage jedoch nur ein Tag Laufzeit

Ansonsten würde mich selbst interessieren ob man das auch ohne Indirekt() hinbekommt, ich bin ja leider nicht so der Formelfreak...

@Jockel: Mit Indirekt() wird per SVERWEIS() ein NAME ermittelt! Dieser benannte Bereich enthält dann die Feiertage für das jeweilige Werk, in diesem Fall WERK11

Hallo Winny,

da der 12.08.2016 der Anlieferungstag ist, darf dieser Tag nicht mehr gezählt werden. Daher muss im zweiten Teil der Formel -1 gerechnet werden. Ausgehend zu der Berechnung wird im Feld WT/Datum der Freitag als letzter Anlieferungstag in einer Woche als spätester Liefertermin angenommen (dieses Datum wird per Formel ermittelt).

In allen anderen Konstellationen mit Daten in den Feldern WT/Datum und WE/Kunde funktioniert der erste Teil der Formel. Nur wenn das Datum im Feld WT/Datum nicht mit dem Datum in der Tabelle Kalender identisch ist, wird nicht der richtige Wert ausgegeben.

Wenn hierzu einer eine Lösung hätte, wäre ich mehr als dankbar.

Gerd
(31.12.2016, 02:20)Winny schrieb: [ -> ]...
@Jockel: Mit Indirekt() wird per SVERWEIS() ein NAME ermittelt! Dieser benannte Bereich enthält dann die Feiertage für das jeweilige Werk, in diesem Fall WERK11

hi Winny, ob du mir das jetzt glaubst oder nicht, was da passiert, kann ich erkennen, aber nicht warum dazu die böse Funktion benutzt wird...

... außerdem fehlt bei der letzten WENN() Formel die Sonst_Bedingung...
Hallo,

ich würde mal vorne anfangen:

Code:
ODER(ISTFEHLER(WERT(I2));ISTFEHLER(WERT(K2)))

Das könnte man mit Gültigkeit abfangen, es würde aber auch das reichen:


Code:
ISTFEHLER(I2*K2)

Und was das soll:


Code:
WENN(NICHT(IDENTISCH(G2;INDIREKT(SVERWEIS($B2;Kalender!$P$2:$Q$18;2;0)))

das wissen auch nur die Götter!
Hi 

@Jockel: Ja, wie komme ich eigentlich dazu, dir das erklären zu wollen, wahrscheinlich hatte ich meinen Senior Moment, war ja auch schon früh Smile Warum Du aber die böse Formel nicht korrigieren wolltest, verstehe ich jetzt nicht, offensichtlich ist es ja doch nicht so leicht für uns Formellaien

@Bosko: Evtl. hattest Du nie irgendwelche Schwierigkeiten mit komplizierten Formeln, normal Begabte sind jedoch oft schon froh wenn sie überhaupt was zusammengezimmert bekommen. Ich verstehe oft nicht den vorwurfsvollen(?!) Ton 

@Gerd: Du hast meine Ausführungen nicht verstanden. In dem Fall dass die Daten im Kalender nicht übereinstimmen(=kein Feiertag/Betriebsurlaub in dieser Zeit) werden wie ausgeführt nur die reinen Arbeitstage errechnet, das sind im Beispiel nun mal 4, und wenn du da nichts abziehst bleibt es dabei, das hat mit den Daten im Kalender absolut gar nichts zu tun! Nenne mal eine andere Zeile und erläutere wieso es da dann stimmt
Hi,

ich habe mal die Formel aufgedröselt.

Dieser Teil:


Code:
NICHT(IDENTISCH(G2;INDIREKT(SVERWEIS($B2;Kalender!$P$2:$Q$18;2;0))))

vergleicht G2 mit dem ersten Eintrag in der entsprechenden Spalte von Kalender. Das wird wohl nie mehr wahr.

Hier:


Code:
NETTOARBEITSTAGE(G2;K2;INDIREKT(SVERWEIS($B2;Kalender!$P$2:$Q$18;2;0))-1)
wird der erste Tag der Liste um 1 reduziert!

die Werksfindung etwas erweitert, und man könnte mit INDEX arbeiten:

Arbeitsblatt mit dem Namen 'Kalender'
 PQR
1Werksfindung 
29002Werk11
39005Werk11
49003Werk23
59009Werk55
69010Werk67
79011Werk129
857Werk1010
94Werk1112
10BestJWerk11
11RöhrJWerk11
12SLCJWerk11
13SLCRWerk23
14GrabowskiWerk55
15RöhrFWerk1010
16SLCFWerk1010
17RöhrWerk1112
18GrabowskiWerk129

NameBezug
Werk1=Kalender!$A$2:$A$2000
Werk10=Kalender!$J$2:$J$2000
Werk11=Kalender!$L$2:$L$2000
Werk12=Kalender!$I$2:$I$2000
Werk2=Kalender!$C$2:$C$2000
Werk5=Kalender!$E$2:$E$2000
Werk6=Kalender!$G$2:$G$2000
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Dann würde die Formel so aussehen:


Code:
=WENN(ISTFEHLER(I2*K2);"Datum o.k?";WENN(ODER(B2>0;G2>0;K2>0);NETTOARBEITSTAGE(G2;K2;INDEX(Kalender!$A$2:$N$2000;;SVERWEIS($B2;Kalender!$P$2:$R$18;3;0)));WENN(NICHT(IDENTISCH(G2;INDEX(Kalender!$A$2:$N$2000;;SVERWEIS($B2;Kalender!$P$2:$R$18;3;0))));NETTOARBEITSTAGE(G2;K2;INDEX(Kalender!A2:N2000;;SVERWEIS($B2;Kalender!$P$2:$R$18;3;0))))))

Ich weiß aber immer noch nicht, was das identisch da soll????
Hallo Winny,

habe Deinen Beitrag erst jetzt gelesen. Ich kann dazu nur Folgendes sagen: Als Helfer muß ich eine solche komplizierte Formel erst einmal zerlegen, um zu sehen, was sie macht. Dann muß ich wissen, was der, der die Formel einstellt, eigentlich will. Danach fängt man an sie zu bereinigen. Das ist kein einfaches Spiel. Jeder kann anhand der Formelauswertung seine Formeln mal selbst überprüfen oder die Einzelteile herausziehen um zu sehen, wo was schief läuft. Und das ist mein Vorwurf! 

Für meine Begriffe müsste diese Formel passen:


Code:
=WENN(ISTFEHLER(I2*K2);"Datum o.k?";WENN(ODER(B2>0;G2>0;K2>0);NETTOARBEITSTAGE(G2;K2;INDEX(Kalender!$A$2:$N$2000;;SVERWEIS($B2;Kalender!$P$2:$R$18;3;0)))-(ZÄHLENWENN(INDEX(Kalender!$A$2:$N$2000;;SVERWEIS($B2;Kalender!$P$2:$R$18;3;0));G2)=0);""))


Ich habe das Ganze aber immer noch nicht so richtig verstanden.
(31.12.2016, 14:31)Winny schrieb: [ -> ]Hi 

@Jockel: Ja, wie komme ich eigentlich dazu, dir das erklären zu wollen, wahrscheinlich hatte ich meinen Senior Moment, war ja auch schon früh Smile Warum Du aber die böse Formel nicht korrigieren wolltest, verstehe ich jetzt nicht, offensichtlich ist es ja doch nicht so leicht für uns Formellaien...

Hallo, ich verstehe nicht, was du von mir willst... Du sollst mir das gar nicht erklären, wie kommst du darauf..? Obwohl: Du bist doch von uns beiden der EXCEL-"Fortgeschrittene" ... ... der TE hat hat ganz offenbar eine eigene Herangehensweise, wie man eine Formel aufstellt und die habe ich noch nicht durchschaut. Immernoch fehlt eine Erklärung warum die Sonst_Bedingung fehlt...

Dass, was Edgar heute 15:56 Uhr geschrieben hat, kann ich nur unterstreichen...
Seiten: 1 2