web-dev-qa-db-ja.com

日付に日数を追加するには、営業日のみを考慮します(つまり、週末を無視します)?

n-th営業日(月曜日から金曜日のみが営業日です)を計算する数式を作成しようとしています。簡単にするために、休日は重要ではありません。週末のみを無視する必要があります。

例えば:

   +------------------------------------------------------------------
   |   A                B                     C
   +------------------------------------------------------------------
1  |  Starting Date    Business-Day Number   Business Date
2  |  06-Jun-2012      0                     06-Jun-2012
3  |  06-Jun-2012      1                     07-Jun-2012
4  |  06-Jun-2012      2                     08-Jun-2012
5  |  06-Jun-2012      3                     11-Jun-2012    <-- June 9th (Sat) and 10th (Sun) are skipped
6  |  06-Jun-2012      4                     12-Jun-2012
...

この式は、上記の列Cを埋めるために使用されます。私が思いついた唯一の解決策は、就業日のテーブルでのvlookupを使用することで、少し面倒でした。

単一の式でそれを実現する方法はありますか?

(ExcelまたはOpenOffice-Calcにあります)

20
E.Z.

Excelでは、WORKDAY関数がこれを行います。 C2のこの式

=WORKDAY(A2,B2)

休日の範囲を追加することもできます。たとえば、H2:H10にリストされている休日の場合、

=WORKDAY(A2,B2,H$2:H$10)

WORKDAYは、Excel 2007以降のバージョンの組み込み関数です。以前のバージョンでは、Analysis ToolPak 加える

40
barry houdini

LibreOffice Calcの場合:

C1=A1+INT(B1/5)*7+MOD(B1,5)+(IF(WEEKDAY(A1,2)+MOD(B1,5)>5,2,0))
4