Microsoft Excel

Herbers Excel/VBA-Archiv

Datumsberechnung

Betrifft: Datumsberechnung von: Joachim
Geschrieben am: 19.08.2004 23:06:14

Hallo,

ich habe folgende Frage.
Ich muß in meinem Excel-Arbeitsblatt mehrere Vertragstermine während einem festgelegten Zeitraum errechnen und überwachen.
Mein Datenzeile sieht wie folgt aus.

VT / XY
Laufzeit / 15.02.04 - 15.02.08
1. überwachungstermin / 2ter Kalendertag des nächstfolgenden Monats
2. überwachungstermin / 3ter Arbeitstag nach 1.Überwachungstermin



Das heißt Excel muß immer den nächsten Termin vom Systemdatum aus errechnen, wobei hier näturlich kein Wochenende/Feiertag errechnet werden darf.

Wer kann mir helfen ?? Bei X Verträgen ist das eine Schweinearbeit ....


Vielen Dank

Jo

  


Betrifft: AW: Datumsberechnung von: andre
Geschrieben am: 20.08.2004 05:32:03

Hallo Jo,
mit den Datumsfunktionen geht das so:
A4=DATUM(JAHR(HEUTE());MONAT(HEUTE())+1;TAG(2))
3 Arbeitstage später siehe hier:
http://www.excelformeln.de/formeln.html?welcher=13


  


Betrifft: AW: Datumsberechnung von: Uwe Speidel
Geschrieben am: 20.08.2004 21:28:56

Hi Joachim,

folgende Lösung:

In A1 berechnest du den 2. des Folgemonats. Formel wirkt etwas umständlich, berücksichtigt so aber auch den Jahreswechsel:

A1=DATUM(WENN(MONAT(HEUTE())=12;JAHR(HEUTE())+1;JAHR(HEUTE()));WENN(MONAT(HEUTE())=12;1;MONAT(HEUTE())+1);2)

In B1 berechnest du den Wochentag. (Die 2 hinter dem Semikolon lässt Excel die Wochentage von 1=Mo bis 7=So zählen):

B1=WOCHENTAG(A1;2)

In C1 berechnest du den darauf folgenden Montag:

C1=A1+8-B1

D1 ist dein 1. Überwachungstermin:

D1=WENN(B1>5;C1;A1)

E1ist dein 2. Überwachungstermin:

E1=D1+WENN(WOCHENTAG(D1;2)>2;5;3)


....wobei jetzt natürlich nur Wochenenden, aber keine Feiertage berücksichtigt sind.

Gruß, Uwe


  


Betrifft: AW: Datumsberechnung von: andre
Geschrieben am: 21.08.2004 08:30:52

Hallo Uwe,
Deine Beispielformeln sind sehr positiv - für den Lerneffekt und den Umgang mit den anderen Datumsfunktionen ....
Deine Aussage "Formel wirkt etwas umständlich, berücksichtigt so aber auch den Jahreswechsel" erweckt den Eindruck, das Beispiel würde nicht zum Jahreswechsel funktionieren, das ist allerdings falsch - meinem Ego ist das egal, aber der Fragesteller lernt was umständliches ;-)
- jedenfalls unter Excel2000 ich denke auch unter 97 (nicht dass ich doch noch falsch liege ?):
1.
hast Du meine A1-Formel mit einem Dezember-Datum probiert? Die macht das auch, weil Excel mit Datum(...Monat(13)...) automatisch den Januar des Folgemonats ausgibt, also umständlich ist nicht nötig.

2. hast Du die andere Formeln (Link) auch getestet? Die gehen auch, und da ist sogar eine Lösung für die Feiertage dabei.
Außerdem ist die Lösung ohne Feiertage und ohne Array etwas kürzer, und wenn man die beiden B1 lässt und nicht durch 3 ersetzt ist sie flexibel.
Deine Lösung zusammengefasst:
=WENN(B1>5;A1+8-WOCHENTAG(A1;2);A1)+WENN(WOCHENTAG(WENN(WOCHENTAG(A1;2)>5;A1+8-WOCHENTAG(A1;2);A1);2)>2;5;3)
Die von Excelformeln:
=3+GANZZAHL((3+REST(A1-2-(REST(A1;7)<2)*(REST(A1;7)+1);7))/5)*2+A1-(REST(A1;7)<2)*(REST(A1;7)+1)
- statt den beiden 3 steht im Original B1 und in B1 die Anzahl der Arbeitstage.


  


Betrifft: AW: Datumsberechnung von: Uwe Speidel
Geschrieben am: 23.08.2004 04:15:40

Hi Andre,

doch, Du liegst richtig: auch schon Excel 97 geht bei Monat(13) ins Folgejahr – nur, dass ich vor Deinem Hinweis von alleine noch nie auf die Idee gekommen bin, das mal auszuprobieren. Immer schön offene Türen eingerannt... seufz. Tut mir leid, wenn ich Dir da unterstellt habe, Du hättest etwas übersehen.
Bleiben mir auf jeden Fall einige nunmehr von Ballast befreite eigene Tabellen und das gute Gefühl, ein Beispiel geliefert zu haben, wie man Formeln ohne Sinn erfolgreich aufplustern kann, falls man gerade mal nichts besseres zu tun hat.

Grüße nach Gera, Uwe