Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel ohne VBA: mehrere Tagesdaten prüfen





Frage

Hallo Leute, folgendes Problem möchte ich möglichst ohne Verwendung von VBA lösen. Geht das? Das Problem: Ich habe a) die Bearbeitungsdauer und das (fixe) Endedatum eines Projektes b) eine Liste von Daten (Tagen), die zur Projektbearbeitung wegen anderweitiger Verplanung nicht zur Verfügung stehen Ich suche das tatsächlich notwendige Beginndatum für das Projekt unter Berücksichtigung der nicht zur Verfügung stehenden Daten. Es ist mir gelungen, eine Formel zu basteln, die die Tageliste so auszuwertet, dass ich für einen einzelnen, fixen Tag feststellen kann "verfügbar" (d.h. in Tageliste nicht enthalten) oder "nicht verfügbar" (d.h. in Tageliste enthalten oder Wochenendtag). Frage: kann ich ohne VBA eine Formel bauen, die mir aus Endedatum, Bearbeitungsdauer (in Arbeitstagen) und Sperrtage-Liste das Anfangsdatum berechnet? Gruß Karolina

Antwort 1 von Tomschi

Hi Karolina!

Habe so etwas ähnliches mal für einen Urlaubsantritt bei Dienstende gemacht.

Siehe dazu http://www.netupload.de/detail.php?img=ef9d090b54c14b883064c7300d727c35.xls

Vielleicht kannst Du damit was anfangen.

Tom

Antwort 2 von Pistenschreck

Hallo Karolina

Hab da mal eine Formel gebastelt. Siehe unter:

http://www.uploadagent.de/files/1172065110/Datum_minus_xx_Arbeitstage.xls

Diese Datei bleibt nur 100 Tage auf dem Server.

Dies wäre die Formel:

=WENN(WOCHENTAG(ARBEITSTAG(A2;-C2)-SUMMENPRODUKT((I1:I50<A2)*(I1:I50>=ARBEITSTAG(A2;-C2)));2)>5;ARBEITSTAG(A2;-C2)-SUMMENPRODUKT((I1:I50<A2)*(I1:I50>=ARBEITSTAG(A2;-C2)))-(WOCHENTAG(ARBEITSTAG(A2;-C2)-SUMMENPRODUKT(($I$1:$I$50<A2)*(I1:I50>=ARBEITSTAG(A2;-C2)));2)-5);ARBEITSTAG(A2;-C2)-SUMMENPRODUKT(($I$1:$I$50<A2)*($I$1:$I$50>=ARBEITSTAG(A2;-C2))))

In A2 ist das Enddatum; in C2 sind die Anzahl Arbeitstage die benötigt werden; In Spalte H2 bis H50 sind Feiertage, wobei der Bezug dann auf die Spalte I ist, da hier keine Sa. und So. angezeigt werden; in Zelle D2 ist das Beginndatum.

Gruss Werner

Antwort 3 von Pistenschreck

Hallo Karolina

Ein Nachtrag:
Für eine Formel mit ARBEITSTAG benötigt man die Analyse-Funktionen

Unter Extras - Add-Ins-Manager..
ein Häckchen bei Analyse-Funktionen.

Musst ev. die Installations-CD bereitstellen.

Gruss Werner

Antwort 4 von Karolina

Hallo Tom, hallo Werner,
vorerst schon mal Danke für die Unterstützung, ich muss die Sachen morgen auf Arbeit mal genauer prüfen. Problem ist, dass ich auf Arbeit keine Excel-Dateien runterladen kann (Sicherheitsmechanismen) und zu Hause unter Linux-Openoffice doch nicht alles exakt so läuft, wie auf Excel. Ich werd' die Dateien morgen auf der Arbeit mal genauer unter die Lupe nehmen.
Grüßle
Karolina

Antwort 5 von Karolina

So, nochmal ich.
Also, die Lösung von Tomschi ist ganz raffiniert gebaut und insbesondere die Berechnung des Osterfestes finde ich interessant. Die Möglichkeit, das Ganze über einen Kalender aufzuziehen, war mir allerdings bewusst und zu raumgreifend. Ich verfüge ja über eine Liste von Projektphasen und Projektdauern und brauche dort in jeder einzelnen Zeile aus gegebenem Endezeitpunkt den richtigen Anfangszeitpunkt.
Was ich gesucht habe ist so etwas wie die Funktion "arbeitstag()" - Danke, Pistenschreck, für den Tipp! Das Einzige, was mir daran jetzt immer noch nicht so recht gefällt, ist, dass ich auch hierfür für die Urlaubszeiten recht umfangreiche Tagestabellen (Ausschlusstage) bauen muss. Und dies zu automatisieren, ist mir nicht gelungen, da das dritte Argument von Arbeitstag(Datum;Tage;Ausschlusstage) keine Leerzellen zu akzeptieren scheint, in denen Formeln stehen. Ich habe nämlich versucht, das ganze aus einer Liste aufzubauen, die mir z.B. für Urlaubsanfangtag und Urlaubsendetag alle dazwischen liegenden Tage selbst erzeugt.
Derzeit behelfe ich mir daher doch noch mit einem kleinen VBA-Programm, das mir die Arbeitstage-Funktion in dieser Art simuliert.
Grüßle
Karolina

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: