[[20020611180510]] 『WORKDAY関数で土・日が除外される』(MOTO) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『WORKDAY関数で土・日が除外される』(MOTO)

WORKDAY関数でX日後又は前を得たいのですが土・日が除外される

実働カレンダーのX日後、又はX日前をの日付を求めたくて、WORKDAY関数を見つけ

試して見たのですが、祭日に指定した日付以外に土・日が必ず除外されしまいます。

指定した日付のみを除外して日付を求める方法はどうしたらよいのでしょうか。


 WorkDayは働く日ですから、土曜日曜は除外されます。

 シリアル値で単純計算すると祝日が除外されません。

 ユーザー関数を作るしかないでしょうかネ?

 (kazu)


ちょっと式が複雑ですが関数でやってみました。

使ってもらえれば幸いです。(tenpoint)

(サンプル表)

    A          B     C         D   E

1 1900/1/0 0 2002/6/20 3 ●

2 2002/6/15 ■

3 2002/6/18 ■

4 2002/6/19 ■

5 2002/6/22 ■

6 2002/6/23 ■

: : :

11 2020/12/31 ■

(表の説明)

A1:B7に除外する日付の一覧を昇順で入力しておく

    (A列:日付で1行目は1900/1/0固定,最後は適当な日)

    (B列:1900/1/0からの実動累計日数+0.01で、1行目は0固定)

    (■:=INT(B1)+A2-A1-1+0.01 =INT(B2)+A3-A2-1+0.01...)

C1に計算の基準になる日を入力

D1にX日後、又はX日前(-X)を入力

E1にX日後、又はX日前の日付が出ます

   (●:=INDEX(A1:A11,MATCH((INT(VLOOKUP(C1,A1:B11,2,TRUE))+

           C1-VLOOKUP(C1,A1:A11,TRUE)+D1),B1:B11,1),1)+D1-

           INT(VLOOKUP(INDEX(A1:A11,MATCH((INT(VLOOKUP(C1,A1:B11,2,TRUE))

           +C1-VLOOKUP(C1,A1:A11,TRUE)+D1),B1:B11,1),1),A1:B11,2,FALSE))+

           INT(VLOOKUP(C1,A1:B11,2,TRUE))+C1-VLOOKUP(C1,A1:A11,TRUE))


 ひやーつ。すごい関数ですね。今京都にきているので、大阪に帰ってから

 ゆっくり見せてもらいます、

(kazu)

 しっかしすごい関数ですね。

 A1が1900/1/0ではセルB2が#VALUE!になるので、1900/1/1にして、試しました。

 +-ともにうまく目的の日付が求まっています。

 +0.01が重要な意味を持っているようですが、まだ解析しきれません。

 (kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.