3営業日後は何月何日だ?

エクセルならWORKDAY関数で、簡単に求められる3営業日後ですが、OpenOfficeの場合、WORKDAY関数がないので、ちょっと小細工が必要です。
ここでは、WEEKDAY関数を使って求める方法を紹介します。

構成と数式使用している関数の説明 ●サンプルファイルとご意見ご感想

構成と数式
土日以外が営業日の前提で作成しています。

送信者 OpenOffice
画面全体の構成を理解していただくために上の画像をご覧ください。
F1からH7セルに求める日付になるであろう前後の日付の一覧表を作成します。

日付をB1セルに入力すると、C1セルにWEEKDAY関数で起算日の曜日番号が入力されます。
C1セル____=WEEKDAY(B1;2)*WEEKDAY関数の説明

A2セルに何営業日後の日付を求めるか数字を入力します。

F1セルに、今日の日付の曜日番号が入力されます。B1セルに入力した日付の曜日が土曜日か日曜日であれば、日付を飛ばして月曜日の日付が入力されます。
F1セル___=IF(C1>5;1;C1)

曜日番号に適合した曜日名が、G1セルに入力されます。
G1セル____=CHOOSE(F1;"月";"火";"水";"木";"金";"土";"日")*CHOOSE関数の説明

H1セルにはB1セルと同じ日付が入ります。ただし、B1セルの日付が土日の場合は次の月曜日の日付が入力されます。また、求める営業日後の日付が1週間以上先の場合、間を飛ばした日付が入力されます。
H1セル____=IF($F$1>=C1;B1+$F$1-C1+INT(A2/5)*7;B1+$F$1-C1+7+INT(A2/5)*7)*INT関数の説明

H2セル以降は、1つ上の行の日付に1を足した日付が入力されます。ただし、上の行に1を足すと、土日になる場合、月曜日の日付が入力されるようにしています。
H2セル____=IF(WEEKDAY(H1+1;2)=6;H1+3;IF(WEEKDAY(H1+1;2)=7;H1+2;H1+1))

B2セルには、求める営業日後の日数に1を加えた日付が日付一覧表の何行目にあるかを探して一覧表3列目の日付が入力されます。
B2セル____=INDEX(F1:H5;MOD(A2;5)+1;3)*INDEX関数の説明

使用している関数
関数名:WEEKDAY関数
書式:=WEEKDAY(処理対象の日付;種類)
何ができる:処理対象の日付の曜日番号を得ることができる
平たく書くと:=WEEKDAY(TODAY();2)で今日の日付の曜日番号が、種類2の場合において得られます。この記事を書いている2011年9月21日の場合、水曜日ですので3が得られます。
種類を変えると、下のように変わります。
種類→ 1 2 0

日曜日 1 7 6
月曜日 2 1 0
火曜日 3 2 1
水曜日 4 3 2
木曜日 5 4 3
金曜日 6 5 4
土曜日 7 6 5

関数名:CHOOSE関数
書式:=CHOOSE(インデックス;値1;値2;..........)
何ができる:インデックスに合った値を返す。値は、29個まで設定できます。
平たく書くと:=CHOOSE(3;"A";"B";"C";"D";"E")で3つ目の値であるCが返されます。

関数名:INT関数
書式:=INT(処理対象の値)
何ができる:処理対象の値を超えない最大の整数を返す
平たく書くと:=INT(35/8)35を8で割ったときの整数部分4が返されます。

関数名:INDEX関数
書式:=INDEX(処理対象の表のアドレス;行番号;列番号)
何ができる:処理対象の表の、行番号と列番号が交差したセルにあるデータを返します。
平たく書くと:=INDEX(B2:E6;3;2)で、B2:E6の表にあるC4セルにあるデータを返します。

サンプルファイル
この3営業日後は何月何日かを求めるサンプルファイルは、calc070.odsをダウンロードしてください。
ご意見、ご感想をお待ちしています。思いつく関数で作ったので、本当はもっとシンプルにできるかもしれないですね。
適当に日付を変えたり、日数を変えたりして遊んでみてください。