Excel: Deadline berechnen

Hallo zusammen,
ich möchte eine Auswertung für einen ServiceDesk machen.
Dabei geht es u.a. darum, in Abhängigkeit einer Priorität einen Wert für „Ticket zu erledigen bis“ zu errechnen. Der Helpdesk hat Anwesenheitszeiten von 07:30 - 17:30.
Beispiel: ein Ticket Prio 3 muss in 16 (Arbeits-)Stunden erledigt werden

04.06.2012 16:00 wird ein Ticket eröffnet
06.06.2012 12:00 wäre dann das theoretische zu erledigen bis Datum

Hat jemand eine Idee, wie das berechnet werden kann, denn eine einfach Addition hilft da nicht.

Vielen Dank
PetKuge

Beispiel: ein Ticket Prio 3 muss in 16 (Arbeits-)Stunden
erledigt werden

04.06.2012 16:00 wird ein Ticket eröffnet
06.06.2012 12:00 wäre dann das zu erledigen

Hat jemand eine Idee, wie das berechnet werden kann, denn eine
einfach Addition hilft da nicht.

Hallo Peter
Ich habe da was gewerkelt. Ein Fachmann wird das viel eleganter lösen!
http://www.uploadagent.de/show-185325-1340383637.html

In Tabelle1 siehst Du die Details, in Tabelle2 das gleiche mit ausgeblendeten Zeilen und Spalten. Die Prioritäten müssen am dritten Tag zu ihrer Erledigung kommen, mehr liegt hier nicht drin.
Wochenenden und Feiertage sind nicht berücksichtigt.

Viele Grüsse Niclaus

Dabei geht es u.a. darum, in Abhängigkeit einer Priorität
einen Wert für „Ticket zu erledigen bis“ zu errechnen. Der
Helpdesk hat Anwesenheitszeiten von 07:30 - 17:30.
Beispiel: ein Ticket Prio 3 muss in 16 (Arbeits-)Stunden
erledigt werden

Hallo Peter,

wird da 24/7 gearbeitet?
Bei Mo-Fr brauchst du eine Liste mit den örtlich geltenden Feiertagen.
Zeige du mal deine Tabelle mit so 10-15 Datenzeilen wie Niclaus.
Hochladen mit der Hochladseite von Niclaus.

Ginge auch eine (Vba-) Funktion die du benutzt wie die eingebauten Funktionen von Excel?

Gruß
Reinhard

Hallo Peter,

Dabei geht es u.a. darum, in Abhängigkeit einer Priorität
einen Wert für „Ticket zu erledigen bis“ zu errechnen.

Hat jemand eine Idee, wie das berechnet werden kann, denn eine
einfach Addition hilft da nicht.

die Aufgabenstellung ist nicht trivial. Da ich so etwas Ähnliches demnächst selbst brauche, habe ich einfach mal etwas Zeit investiert. Das Problem löse ich mit einer benutzerdefinierten VBA-Funktion, die, nach korrekter Integration in die betreffende Excel-Mappe, dort wie eine ganz normale Formel benutzt werden kann. Andere Lösungen halte ich für unflexibel und „unhandlich“.

Um die VBA-Funktion nutzen zu können, muss man sie erst einbinden. Ich habe für Excel 2010 einfach mal ein Add-In erstellt, welches du hier downloaden kannst: http://www.file-upload.net/download-4471611/udf_Dead…
Wie man ein Excel-Add-In installiert wird hier beschrieben: http://www.online-excel.de/excel/singsel.php?f=139
Alternativ kannst du die Funktion natürlich auch per Copy&amp:stuck_out_tongue_winking_eye:aste in möglicherweise bereits vorhandene Module einfügen.

Die „Formel“ habe ich mal DEADLINE genannt. Damit es funktioniert müssen als Argumente zunächst Datum/Zeit des Auftragseingangs und anschließend die Normzeit in Stunden angegeben werden.

Beispiele:

=DEADLINE( 23.06.2012 10:18 ; 16 ) ergibt den Wert 41086,5625 (als Datum/Zeit formatiert entspricht das 26.06.2012 13:30)
=DEADLINE( 23.06.2012 10:18 ; 5 ) ergibt den Wert 41085,52083 (als Datum/Zeit formatiert entspricht das 25.06.2012 12:30)
=DEADLINE( 25.06.2012 10:20 ; 5 ) ergibt den Wert 41085,63906 (als Datum/Zeit formatiert entspricht das 25.06.2012 15:20)
=DEADLINE( 25.06.2012 10:20 ; 55 ) ergibt den Wert 41092,63906 (als Datum/Zeit formatiert entspricht das 02.07.2012 15:20)

Meine Annahmen:

  • Arbeitszeit von 07:30 bis 17:30
  • Samstag und Sonntag sind keine Arbeitstage (und Feiertage gibt es nicht)
  • Es wird berücksichtigt, dass Tickets auch außerhalb der Geschäftszeiten „eintrudeln“, aber nur während der Arbeitszeit bearbeitet werden können
  • Die „Normzeit“ ist variabel

Ob meine Annahmen realistisch sind, sei mal dahingestellt. Du hast dir über die Bedingungen wahrscheinlich nur wenige Gedanken gemacht, und ich habe das in erster Linie so gemacht, wie ich mir das selbst gut vorstellen kann.

Auf eine detaillierte Beschreibung, was ich da überhaupt mache, möchte ich verzichten. Wer programmieren kann, wird das schon verstehen und an seine eigenen Bedürfnisse anpassen können. Alle anderen brauchen das nicht zu verstehen.

Achtung:
Die Funktion ist nur oberflächlich getestet. Ich kann nicht garantieren, dass sie unter allen erdenklichen Situationen problemlos funktioniert.

MfG
Stephan

PS: Hier der VBA-Code

Public Function DEADLINE(Beginn As Date, Dauer As Double) As Date

'######################################################################################################

'Beschreibung:

'Diese Funktion berechnet den maximalen Zeitpunkt der Auftragserledigung in Abhaengingkeit von
'Auftragseingang und Normzeit unter der Berücksichtigung weiterer Bedingungen.

'Argumente:

'Beginn: Datum mit Uhrzeit (Auftragseingang)
'Dauer: Geschätzte Dauer in Stunden (Normzeit)

'Annahmen:
’ 1. Samstag und Sonntag sind keine Arbeitstage
’ 2. Es steht pro Tag nur eine gewisse Anzahl an Stunden zur Verfügung
’ 3. Liegt der ‚Auftragseingang‘ außerhalb der ‚Geschaeftszeiten‘ wird intern der nächstmöglich Starttermin
’ berechnet und angewendet

’ Version: 1.0 Geändert von: Stephan Geändert am: 23.06.2012 10:15

'######################################################################################################

Dim Anfang As Double
Dim Ende As Double
Dim Arbeitszeit As Double
Dim Start As Double
Dim Restzeit As Double

Anfang = 7.5 / 24 '07:30 Arbeitsbeginn
Ende = 17.5 / 24 '17:30 Arbeitsende

Arbeitszeit = Round(Ende - Anfang, 10)

'frühesten Startzeitpunkt ermitteln -------------------------------------------------------------
If Beginn >= (Ende + Int(Beginn)) Or Weekday(Beginn, vbMonday) > 5 Then

Start = Int(Beginn) + 1 + Anfang

Do While Weekday(Start, vbMonday) > 5

Start = Start + 1

Loop

ElseIf Beginn 5 Then

Start = Int(Beginn) + Anfang

Do While Weekday(Start, vbMonday) > 5

Start = Start + 1

Loop

Else

Start = Beginn

End If
'------------------------------------------------------------------------------------------------

'Deadline ermitteln -----------------------------------------------------------------------------

If (Dauer / 24) 1

Restzeit = Restzeit - Arbeitszeit

Do
Start = Start + 1

Loop While Weekday(Start, vbMonday) > 5

Loop

DEADLINE = Start + Restzeit
Exit Function

End If
'------------------------------------------------------------------------------------------------

End Function

Hallo zusammen,
ich habe mal zwei Hilfsspalten zur Lösung eingesetzt.
Gleichzeitig dazu die Abfrage vom Wochentag
schau mal

Gruß Holger

Hallo Stephan

Ich habe Deine Function etwas getestet. Super!! Die Beispiele, die Du erwähnst, führen auch bei mir zum gleichen Resulat. Aber mit andern Daten klappt es bei mir nicht so richtig. Die Arbeitszeit bis 17:30 h wird nicht immer richtig beachtet. Ob das an der Bedingung
If (Dauer / 24)
Beginn Norm-h Deadline
Mo 04.06.2012 16:00 16 Di 05.06.2012 22:00
Mo 25.06.2012 12:20 16 Di 26.06.2012 18:20
Mo 25.06.2012 17:30 16 Di 26.06.2012 23:30
Mo 25.06.2012 17:30 17 Mi 27.06.2012 00:30
Mo 25.06.2012 17:15 20 Mi 27.06.2012 03:15
Mo 25.06.2012 17:00 21 Mi 27.06.2012 18:00
Mo 25.06.2012 17:00 23 Mi 27.06.2012 20:00
Mo 25.06.2012 17:00 26 Mi 27.06.2012 23:00

Hallo Stephan,

Dabei geht es u.a. darum, in Abhängigkeit einer Priorität
einen Wert für „Ticket zu erledigen bis“ zu errechnen.

die Aufgabenstellung ist nicht trivial.

dem stimme ich sehr zu. Neben allem was noch an Angaben fehlt,
fehlt auch genauere Erklärung des Anfragers was er mit
„Abhängigkeit einer Priorität“ meint.
Soll bei Prio1 anders gerechnet werden wie bei Prio3?
Fragen über Fragen, deshalb habe ich bislang noch nichts
entwickelt.

Andere Lösungen halte ich für unflexibel und „unhandlich“.

Dem kann ich erst zustimmen oder auch nicht wenn ich die genaue Aufgabenstellung kenne.

Vba ist per se sehr viel langsamer verglichen mit Exceleigenen Funktionen.

Und unhandlich? Wenn man auf einem Hilfsblatt vorgibt:
7:30, 17:30, ja/nein (für Feiertage), ja/nein für Wochendeberücksichtigung) so ist dann eine reine Excelfunktionenlösung in dem Hilfsblatt schon sehr dynamisch *find*

Und ja, ich sage das *gg*, obwohl ich persönlich sehr gerne Vba benutze. Aber ich für mich muß auch so fit sein, ein, bzw. jedes Problem, falls überhaupt ohne Vba lösbar, mit normalen Excelfunktionen lösen können.
Ein Grund könnte sein daß da in einer Firma keine makros erlaubt sind.

Gruß
Reinhard

Hallo Niclaus,

Ob das an der Bedingung
If (Dauer / 24) = (Ende + Int(Beginn)) Or Weekday(Beginn, vbMonday) > 5 Then

Start = Int(Beginn) + 1 + Anfang

Do While Weekday(Start, vbMonday) > 5

Start = Start + 1

Loop

ElseIf Beginn 5 Then

Start = Int(Beginn) + Anfang

Do While Weekday(Start, vbMonday) > 5

Start = Start + 1

Loop

Else

Start = Beginn

End If
'------------------------------------------------------------------------------------------------

'Deadline ermitteln -----------------------------------------------------------------------------

If (Dauer / 24) 1

Restzeit = Restzeit - Arbeitszeit

Do
Start = Start + 1

Loop While Weekday(Start, vbMonday) > 5

Loop

DEADLINE = Start + Restzeit
Exit Function

End If
'------------------------------------------------------------------------------------------------

End Function

Hallo Reinhard,

Andere Lösungen halte ich für unflexibel und „unhandlich“.

Dem kann ich erst zustimmen oder auch nicht wenn ich die
genaue Aufgabenstellung kenne.

die konkrete Aufgabenstellung wurde nicht genannt. Der Fragesteller hat sich bisher noch gar nicht geäußert. Deshalb habe ich das so gemacht, wie ich es brauchen kann.

Vba ist per se sehr viel langsamer verglichen mit Exceleigenen
Funktionen.

Und? Ich glaube Geschwindigkeit spielt bei derart komplizierten Berechnungen eine untergeordnete Rolle. Außerdem erhebe ich nicht den Anspruch die perfekte Lösung zu bieten. Es gibt da sicher noch etwas zu verbessern.

Und unhandlich? Wenn man auf einem Hilfsblatt vorgibt:
7:30, 17:30, ja/nein (für Feiertage), ja/nein für
Wochendeberücksichtigung) so ist dann eine reine
Excelfunktionenlösung in dem Hilfsblatt schon sehr dynamisch
*find*

Wenn du dem Fragesteller eine solche Lösung bieten kannst und ihm diese auch erklärst, dann mach doch!
Die von dir angesprochenen Parameter kann ich im übrigen auch alle in meine Funktion einbauen.

Ein Grund könnte sein daß da in einer Firma keine makros
erlaubt sind.

Das ist doch nicht mein Problem.

Wenn du mit benutzerdefinierten Funktionen nichts anfangen kannst/willst, ist mir das egal. Ich bin kein Missionar und will hier niemanden zu seinem Glück zwingen.

MfG
Stephan

Achtung - Neue Version
Da in der Vorgängerversion noch ein Fehler steckte, hier eine neue Version, die hoffentlich fehlerfrei ist:
http://www.file-upload.net/download-4477649/udf_Dead…

ne, das Problem lag woanders. Habe es umgebaut und ein wenig
getestet. Könnte jetzt problemlos funktionieren. :wink:

Ja, es funkt bei meinen Testdaten wirklich problemlos. An der Restzeit lag’s, hab ich gesehen.

Vielen Dank Stephan und eine gute Woche
Viele Grüsse
Niclaus

ne, das Problem lag woanders. Habe es umgebaut und ein wenig
getestet. Könnte jetzt problemlos funktionieren. :wink:

Ja, es funkt bei meinen Testdaten wirklich problemlos. An der
Restzeit lag’s, hab ich gesehen.

Hallo Niclaus,

haste mal als Starttermin Fr 08.06.2012 17:25 und Prio 10 min getestet?
Stephans (neuere) Funktion liefert mir da Sa 9.06.2012 07:35.
Korrekt wäre nächster Montag 07:35.
Prüfe das bitte mal, ggfs. habe ich da was falsch umgesetzt da meine Testgrunddaten anders aufgebaut sind.

Ansonsten, die zwei Exit Function kannste m.E. ersatzlos streichen.

Gruß
Reinhard

Und unhandlich? Wenn man auf einem Hilfsblatt vorgibt:
7:30, 17:30, ja/nein (für Feiertage), ja/nein für
Wochendeberücksichtigung) so ist dann eine reine
Excelfunktionenlösung in dem Hilfsblatt schon sehr dynamisch
*find*

Wenn du dem Fragesteller eine solche Lösung bieten kannst und
ihm diese auch erklärst, dann mach doch!

Hallo Stephan,

ommmm, du erscheinst mir ein bißchen angespannt zu sein wenn du mir antwortest, ist natürlich nur subjektive Wahrnehmung meinerseits.
Um da nix zu verstärken gehe ich auf einige deiner Punkte gar nicht
erst ein.

Das Problem des Anfragers ist m.E. mit Vba aber auch mit
Excelfunktionen zu lösen.

Die drei Jungs von excelformeln.de und andere Formelpäpste kriegen
das evtl. mit einer einzigen Formel hin. Nur, die ist dann
höchstwahrscheinlich so undurchschaubar für nicht so fitte sodaß
sie da auf dem Schlauch stehen wenn sie da mal was gravierendes abändern müßten.

Dito für Vba-Lösungen. Ohne grundlegende Vba-kenntnisse kann da keiner
groß was am Code abändern.

Warum also nicht eine Lösung anbieten die mit normaleren Excelformeln
„arbeitet“ und halt Hilfsspalten benutzt?
Dann steht in einer Hilfsspalte z.B.
=GANZZAHL(W2)+WAHL(WOCHENTAG(W2;2);0;0;0;0;0;2;1)

Und so eine Formel halte ich für jmdn. der gewohnt ist mit Excel-
Funktionen umzugehen durchaus „verstehbar“.
Auf das Ergebnis bezieht sich dann eine weitere Hilfszelle/spalte
mit ähnlich komplizierter Formel usw.

Der Vorteil für den Anwender liegt auf der Hand. Er muß nur Formeln
in dieser Preisklasse verstehen, dann den Gesamtzusammenhang, dann kann er da durchaus auf Änderungen in der Aufgabenstellung
zumindest in größerem Rahmen, selbst, ohne Fremdhilfe reagieren.

Wenn es hakt kann er ja immer noch nachfragen, aber bei Vba bzw.
Monsterformeln MUSS er nachfragen.

Gruß
Reinhard

Hallo Stephan,
sorry, ersteinmal, dass ich mich jetzt erst melde.
Ich hätte nicht gedacht, dass
Vielen Dank für Deine Inputs - es geht genau in die richtige Richtung.
Ich hätte vielleicht von Anfang an, die genauen „Rahmenbedingungen“ erläutern sollen, aber Du hast genau in die richtige Richtung gedacht.

Die folgenden Rahmenbedingungen habe ich:
Mo - Fr jeweils von 07:30 - 17:30; exklusive Feiertage
Prio 1: Deadline 1 Stunde
Prio 2: Deadline 2 Stunden
Prio 3: Deadline 8 Stunden
Prio 4: Deadline 16 Stunden
Prio 5: Deadline 40 Stunden

Bei der Berechnung müsste eben auch berücksichtigt werden, dass die Deadline eben auch nur innerhalb der Zeit von 07:30 - 17:30 liegen kann
Ich hatte das mal mit Deiner letzten Version getestet und habe zumindest bei 04.01.2012 08:17:15 mit 10 Stunden den folgenden Wert erhalten: 04.01.2012 18:17

Vielen Dank auf jeden Fall für Deine bisher geleisteten Mühen.

Hallo Peter,

so wie ich die Sache sehe brauchst du eine auf dein Bundesland abgestimmte Feiertagsliste.
Haste eine? Wenn nicht frag nach wie man sowas erstellt.

Wie in meiner ersten Antwort an dich erbitte ich eine Beispielmappe
um deine Tabellenstruktur kennenzulernen.

Gruß
Reinhard

Hallo Peter,

hier mal eine Beispiel-Datei und ein modifiziertes Add-In: http://www.file-upload.net/download-4478687/Deadline…

Optional kannst du nun auch Feiertage berücksichtigen.

Die Funktion hat drei Parameter:

  • Datum mit Uhrzeit des Ticketeingangs
  • Vorgabezeit in Stunden (Kommazahlen funktionieren auch)
  • Bereich in dem deine Feiertage stehen (Optional)

Den Bereich in dem deine Feiertage stehen muss du nicht zwingend angeben. Es wird dann einfach ignoriert, dass es Feiertage gibt.

Wie schon vorher: Ich habe nur oberflächlich getestet.

In dem Add-In steckt nun auch eine „Formel“ mit dem Namen „IstArbeitstag“. Die Funktion zur Berechnung der Deadline nutzt diese Funktion. Man kann sie aber auch separat benutzen. Der erste Parameter ist das Datum und der zweite der Bereich mit den Feiertagen (wieder optional). Bei Feiertagen bzw. am Samstag/Sonntag gibt die Formel FALSCH zurück. Ansonsten WAHR.

Viel Erfolg!

MfG
Stephan

PS: Hier noch der VBA-Code.

Public Function DEADLINE(Beginn As Date, Dauer As Double, Optional Bereich As Range = Nothing) As Date

'######################################################################################################

'Beschreibung:

'Diese Funktion berechnet den maximalen Zeitpunkt der Auftragserledigung in Abhaengingkeit von
'Auftragseingang und Normzeit unter der Berücksichtigung weiterer Bedingungen.

'Argumente:

'Beginn: Datum mit Uhrzeit (Auftragseingang)
'Dauer: Geschätzte Dauer in Stunden (Normzeit)

'Annahmen:
’ 1. Samstag und Sonntag sind keine Arbeitstage
’ 2. Es steht pro Tag nur eine gewisse Anzahl an Stunden zur Verfügung
’ 3. Liegt der ‚Auftragseingang‘ außerhalb der ‚Geschaeftszeiten‘ wird intern der nächstmöglich Starttermin
’ berechnet und angewendet
’ 4. Feiertag sind können optional angegeben werden

’ Version: 1.0 Geändert von: Stephan Geändert am: 23.06.2012 10:15
’ Version: 1.1 Geändert von: Stephan Geändert am: 25.06.2012 00:20
’ Version: 2.0 Geändert von: Stephan Geändert am: 25.06.2012 15:50

'######################################################################################################

Dim Anfang As Double
Dim Ende As Double
Dim Arbeitszeit As Double
Dim Start As Double
Dim Restzeit As Double

Anfang = 7.5 / 24 '07:30 Arbeitsbeginn
Ende = 17.5 / 24 '17:30 Arbeitsende

Arbeitszeit = Round(Ende - Anfang, 10)

'frühesten Startzeitpunkt ermitteln -------------------------------------------------------------
If Beginn >= (Ende + Int(Beginn)) Or IstArbeitstag(Beginn, Bereich) = False Then

Start = Int(Beginn) + 1 + Anfang

Do While IstArbeitstag(Start, Bereich) = False

Start = Start + 1

Loop

ElseIf Beginn 1

Restzeit = Restzeit - Arbeitszeit

Do
Start = Start + 1

Loop While IstArbeitstag(Start, Bereich) = False

Loop

DEADLINE = Start + Restzeit

End If
'------------------------------------------------------------------------------------------------

End Function

Public Function IstArbeitstag(Tag As Variant, Optional Bereich As Range = Nothing) As Boolean

Dim Zelle As Range

IstArbeitstag = True

If Weekday(Tag, vbMonday) > 5 Then

IstArbeitstag = False

Exit Function

End If

If Not Bereich Is Nothing Then

For Each Zelle In Bereich

'Debug.Print Zelle.Address & vbTab & Zelle.Value
If Int(Zelle.Value) = Int(Tag) Then

IstArbeitstag = False

Exit Function

End If

Next Zelle

End If

End Function

Hallo Reinhard,
anbei die Datei: ich habe mal nur das relevante drin gelassen:
http://www.uploadagent.de/show-185392-1340634765.html

Gruss
Marc

Hallo Reinhard,

ommmm, du erscheinst mir ein bißchen angespannt zu sein wenn
du mir antwortest, ist natürlich nur subjektive Wahrnehmung
meinerseits.

entschuldige bitte, war nicht so gemeint.

Die drei Jungs von excelformeln.de und andere Formelpäpste
kriegen
das evtl. mit einer einzigen Formel hin.

Ich habe niemals behauptet, dass meine Lösung die Klügste ist. Da ich noch andere Sachen programmiere, und solche Berechnungen lieber nicht in Excel durchführe, kenne ich nicht jedes einzelne Excel-Formel im Detail.

Warum also nicht eine Lösung anbieten die mit normaleren
Excelformeln
„arbeitet“ und halt Hilfsspalten benutzt?
Dann steht in einer Hilfsspalte z.B.
=GANZZAHL(W2)+WAHL(WOCHENTAG(W2;2);0;0;0;0;0;2;1)

Und so eine Formel halte ich für jmdn. der gewohnt ist mit
Excel-
Funktionen umzugehen durchaus „verstehbar“.

Naja, wenn du meinst. Ich finde solche verschachtelten Formeln nicht gerade leicht verständlich. Vor allem wenn darin Formeln vorkommen, von denen ich vorher noch nie gehört habe.

Der Vorteil für den Anwender liegt auf der Hand. Er muß nur
Formeln
in dieser Preisklasse verstehen, dann den Gesamtzusammenhang,
dann kann er da durchaus auf Änderungen in der
Aufgabenstellung
zumindest in größerem Rahmen, selbst, ohne Fremdhilfe
reagieren.

Ich bin der Meinung, dass der Anwender nicht alles verstehen muss und meistens auch gar nicht will. Wenn ich sowas programmiere, dann nicht ohne schon weiter zu denken. Ich kann mir sehr gut vorstellen, dass man die Funktion zur Berechnung einer Deadline auch für mehrstufige Planungen benutzen könnte. Dann könnte man das ganz einfach ineinander verschachteln. Wenn man sowas mit Tabellen machen möchte, stößt man schnell an die Grenzen der Machbarkeit.

MfG
Stephan

PS: Wer Lust hat, kann die Problemstellung ja mal andersherum programmieren. Ausgehend von einem feststehenden Erfüllungstermin, möchte ich wissen, wann ich anfangen muss.

anbei die Datei: ich habe mal nur das relevante drin gelassen:
http://www.uploadagent.de/show-185392-1340634765.html

Hallo Marc-Peter,

na siehste geht doch, jetzt steige ich ein.
Vorab, nach kurzem Blick darauf, zumindest in der Testphase
bei sowas ist es hilfreich die Datümer so zu formatieren:
TTT, TT.MM.JJJJ hh:mm
oder auch
TTT * TT.MM.JJJJ hh:mm
Den Unterschied siehst du wenn du die Spaltenbreite verbreiterst.

Deine Feiertagsliste empfinde ich als seltsam, war 1.1.2012 kein Feiertag? U.v.m.
Wieso der 2.1?

Ich hatte dir doch angeboten daß du nachfragst wie man das erstellt.
Schau mal bitte hier:
http://www.excelformeln.de/suche.html
und gib bei der Suche feiertag ein…
Örtliche Feiertage mußte dann halt manuell in der Liste ergänzen.

Und nochmals, was ist dir lieber, eine Vba-Lösung oder eine
reine Excelfunktionslösung?

Gruß
Reinhard

Hallo Reinhard,
vorab: ja, die Feiertage-Liste ist nicht komplett - ich hatte eben nicht alles kopiert und auch bei uns ist der 1.1. schon ein Feiertag :smile:

Wenn Du das mit einer Formel hinbekommst, ist das gut aber ich denke, da wird man schon eine Menge Hilfsspalten benötigen, und dann ist diese sicherlich auch nicht gerade trivial, oder ?

Ich denke, dass es mit VBA eleganter ist - Stephan hat da ja schon sehr gute Arbeit geleistet

Viele Grüsse,
(Marc)-Peter