In meinem Artikel „Vergleich der Formeln in Excel 2003, Excel 2007 und Excel 2007 (Beta)“ hatte ich bereits die Formeln in den Excel Versionen 2003, 2007 und 2007 miteinander verglichen und neue Formeln aufgelistet.
Heute wollte ich die neuen Formeln NETTOARBEITSTAGE.INTL() und ARBEITSTAG.INTL() intensiver testen, musste allerdings feststellen, dass die Hilfe in Office 2010 Beta noch nicht vollständig ist. In meiner Installation erscheinen noch gar keine Hilfstexte zu den Formeln. Insofern habe ich mal nach den englischen Formelnamen gegoogelt und bin übrigens auf etwas sehr interessantes gestoßen, dazu später mehr.
Schauen wir uns aber zunächst die beiden Formeln im Formelassistenten anhand folgender Screenshots genauer an:
Wir sehen, ARBEITSTAG.INTL() liefert das Datum vor oder nach einer anzugebenden Anzahl von Tagen zurück. Als Argumente erwartet die Formel ein Datum in „Ausgangsdatum“ und die Anzahl der Tage in „Tage“. Gleichzeitig kann die Formel optional die Wochenendtage berücksichtigen, indem für das Argument eine Zahl zwischen 1 und 7 oder 11 und 17 angegeben wird. Diese Funktion ist nützlich, wenn sich die Wochendtage von hiesigen Gepflogenheiten unterscheiden. Dies ist beispielsweise in einigen arabischen Ländern der Fall, wo das Wochenende am Freitag und Samstag liegt. Im letzen Argument können in der Formel auch freie Tage (z.B. Feiertage) in dem Zeitraum berücksichtigt werden, indem entweder ein Bereich mit den Daten ausgewählt wird oder diese Tage als Zeichenkette eingetragen werden.
In der oberen Abbildung ist in Zelle D2 ein Datum hinterlegt (03.12.2009) und in Zelle D5 eine Anzahl von Tagen. In diesem Fall liefert ARBEITSTAG.INTL(D2;D5;1) den 15.12.2009, also genau den Arbeitstag, der 8 Tage inklusive der Wochenden später liegt. Das lässt sich relativ einfach im Kalender nachprüfen. Das Argument „Wochenende“ ist hier auf 1 gesetzt, welcher für „Samstag und Sonntag“ als Wochenende steht. Folgend eine Liste der erlaubten Parameter, wenn ein Wochenende mit zwei aufeinander folgenden Tage berücksichtigen werden soll:
1 Samstag, Sonntag
2 Sonntag, Montag
3 Montag, Dienstag
4 Dienstag, Mittwoch
5 Mittwoch, Donnerstag
6 Donnerstag, Freitag
7 Freitag, Samstag
Für den Fall, dass ein Wochende nur aus einem Tag besteht, können für das Argument folgende Werte verwendet werden:
11 Sonntag
12 Montag
13 Dienstag
14 Mittwoch
15 Donnerstag
16 Freitag
17 Samstag
Im Beispiel ARBEITSTAG.INTL(D2;D5;1; „08.12.2009“) habe ich einen freien Tag angegeben, somit erhöht sich die Ausgabe um einen Tag. Übrigens, wenn man mehrere Tage manuell eintragen möchte, sollten diese der Syntax {“Datum_1″;“Datum_2″;…} folgen, zum Beispiel {“8.12.2009″;“9.12.2009″}. Sinnvoller ist es aber dann einen zusammenhängenden Bereich auszuwählen.
Schauen wir uns nun ein ähnliches Beispiel zu NETTARBEITSTAGE.INTL() an. Diese Formel berechnet die Anzahl der Arbeitstage zwischen einem Startdatum und einem Enddatum, wobei diese 2 Tage mitgezählt werden. Auch hier ist der Parameter „Wochenende“ wie bei ARBEITSTAG.INTL() steuerbar.
Die beiden Beispiele hier oben berechnen die jeweilige Anzahl der Arbeitstage zwischen dem 03.12.2009 und dem 10.12.2009, letztere berücksichtigt auch hier einen fiktiven freien Tag.
Eigentlich könnte ich jetzt diesen Artikel abschließen, wäre mir nicht eine Kleinigkeit im Formelassistenten aufgefallen und hätte ich nicht über Google danach gesucht. Wenn Sie im Formelassistenten den Cursor im Parameter sehen Sie den Hinweistext „ist eine Zahl oder eine Zeichenfolge“.
Die Google Recherche führt letzten Endes zum ECMA-376 Standard, welcher das Office Open XML Format definiert und als Standard von Microsoft angemeldet wurde, wie der etwas ältere Artikel „Office Open XML, a.k.a. IS 29500“ im Excel Blog beschreibt. Wenn man sich ein bißchen bei ECMA umschaut, findet man relativ schnell die entsprechenden – übrigens sehr umfangreichen – Dokumente. Und darin lässt sich dan nachlesen, dass es zwei Versionen der Formeln WORKDAYS.INTL und NETWORKDAYS.INTL gibt. Eine Version akzeptiert für das Argument „Wochenende“, wie bereits oben gezeigt, eine Zahl als Angabe.
Eine weitere Version der Formel akzeptiert auch eine Zeichenfolge bestehend aus Nullen und Einsen, wobei die erste Ziffer den „Montag“ und die letzte Ziffer den „Sonntag“ repräsentiert. Bedeutet, wenn das Wochende am Samsstag und Sonntag liegt, wäre „0000011“ anzugeben.
In der obigen Abbildung habe ich ein Beispiel ergänzt, welches 3 Wochenendtage annimmt. Die Formel ist in rot gekennzeichnet. Dasselbe gilt übrigens für die Formel ARBEITSTAG.INTL().
Diesen Artikel habe ich ebenfalls auf folgenden Webseiten publiziert:
Besser als bei Windows erklärt, vor allem das letzte mit … 1000001…