• 締切済み

エクセルで営業日後の日数計算をしたい

こんにちは、教えてください エクセルで営業日数の計算て可能でしょうか? たとえば土日祝日を除いた、14営業日後の日付を求めたり、逆に●月●日は何営業日後であるというようなものです できるかどうかわかりませんが、方法があれば教えてください

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

#1の方の(土日を含め)休日を表に持つやり方が良いのではと思いました。 それで下記をやって見ました。 2004年9月であれば どこかの列のセルに 2004/9/4 2004/9/5 2004/9/11 2004/9/12 2004/9/18 2004/9/19 2004/9/20 2004/9/23 2004/9/25 2004/9/26 を1日づつ入れる。 ユーザー関数を Function nis(a, b, c) n = 0 For i = a To b For Each cl In c '休日に該当するか If i = cl Then GoTo p01 Next n = n + 1 p01: Next i nis = n End Function で定義する。 土日をプログラムで判定すれば、休日表は小さくなります(略)。 日数を出したいセルに 例としてスタート日A1に2004/8/30 A2にエンドの日2004/9/24 休日をいれた範囲をD1:D10とすると 両端いれで関数式=nis(A1,B1,D1:D10)といれる。 答え18になります。 片端いれの場合は For i = a+1 To b か For i = a To b-1 と修正すれば良いです。 日数後は Function nisg(a, b, c) n = 0 For i = a To a + 10000 For Each cl In c If i = cl Then GoTo p01 Next n = n + 1 p01: If n = b Then nisg = i Exit Function End If Next i End Function で =nisg(A1,C5,D1:D10)のようにいれC5に日数があるときの 例です。

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

WORKDAY関数とNETWORKDAYS関数を使います。 WORKDAY(開始日, 日数, 祭日) 開始日から起算して、指定された稼動日数だけ前または後の日付に対応する値を返します。稼動日とは、土曜、日曜、および指定された祭日を除く日のことです。 NETWORKDAYS(開始日, 終了日, 祭日) 開始日から終了日までの期間に含まれる稼動日の日数を返します。稼動日とは、土曜、日曜、および指定された祭日を除く日のことです。 本日(9月18日)から14営業日後の日付を求めたいなら、 たとえばH1:H12に祝日の表を作っておいて、 1/1 1/12  ・  ・ 9/20 9/23  ・  ・ 12/23 =WORKDAY(9/10,14,H1:H12) A1セルに日付、B1セルに日数が入っているなら =WORKDAY(A1,B1,H1:H12) のようにセル指定も出来ます。 本日(9月18日)から9月30日までの営業日数を求めたいなら、 NETWORKDAYS(9/10,9/30, H1:H12) または、セル指定で NETWORKDAYS(A1,B1, H1:H12)

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

ハッピーマンデー法が出来てから祝日の判定が難しくなりました。 また、業界や会社によって固有の休業日あったりして複雑かつ 計算が正しいかを確かめるのに労力を費やします。 そこで、営業日のカレンダーを作りVLOOKUP関数で計算する方法が良いと考えました。 具体的には、 A列:営業日のカレンダー B列:1から始る連番 C列:曜日表示(応答日計算及びカレンダーの入力チェック)    C列はC2に「=A2」と入力してセルの表示書式-ユーザー定義で    aaaとすると月火の表示にaaaaとすると月曜の表示になります。    後は下にコピーするだけです。 計算はE2に14営業日を計算する元の日付を入力します。 F2には =VLOOKUP(VLOOKUP(E2,$A$1:$B$247,2,FALSE)+14,$B$1:$D$2472,2,FALSE) これで14日後が表示されます。 ※$A$1:$B$247や$B$1:$C$247は私がサンプルで作成した  カレンダーは今年の場合246日ありました。 次に日数計算ですが、 計算したい日を E4に入力します。F5は営業日にしか使わないなら =TODAY()でもいいのですが、休みや任意の日とする場合は日付を入力 する方法が良いです。 計算結果はG4に次の計算式を入れます。 =VLOOKUP(E4,$A$1:$B$247,2,FALSE)-VLOOKUP(F4,$A$1:$B$247,2,FALSE) セル関数を使えばもっとシンプルな計算式になるとは思いますが こちらの方が分り易いと考えました。 また、質問では数日の間を計算する様に思えたので1年のカレンダーと しましたが、これを使う最大値に1年程度を加えたカレンダーを 作れば応用が利くと思います。また、臨時休業が発生した場合でも カレンダーを修正するだけで済みメンテナンスに優れています。

関連するQ&A

  • エクセルで土日を除く日数の計算

    Excelで、土日を除く日数の計算方法はありますでしょうか?例えば、開始日2001/10/11、終了日2001/10/16という場合に、"終了日"-"開始日"で"5日"という結果になりますが、13日と14日が土日になるため、"3日"という結果が欲しいのです。社休日にあたる土日をカウントせず、営業日だけで計算した日数が知りたいのです。(できれば祝日もカウントしたくないのですが、これは難しいでしょうか?)よろしくお願いいたします。

  • excelでの日数計算

    2つの日付を指定して、その間の土日、祝日以外の日数を計算できますか?

  • エクセルで作業期間の日数を計算したい

    エクセルについて質問です。 セルA1に開始日(例:2012/2/20) セルC1に終了日(例:2012/5/12)を入力し、この期間の日数(○○日間)を 計算する方法を教えて下さい。 更にこの期間で、「土日祝日を除いた日数(平日のみの日数)」と 「日曜祝日を除いた日数(平日+祝日でない土曜日の日数)」を算出する方法も教えて下さい。 ちなみに作業日数を計算するのに、DAYS360関数を使ってみましたが、 1年を360日として計算するので、正確な日数になりません。 また、曜日や休日が絡むとどんな関数を使えば良いのか全くわかりません。 よろしくお願いいたします。

  • 営業日数を自動計算をしたいのですが

    エクセル2003を使っています。 シート1に営業日数、シート2~に表示形式の日付で1ヶ月分の日付を入力しています。 これをシート2~の1ヶ月分の営業日数を自動的にシート1に入力できるようにしたいです。 休みの日はセルをオレンジで塗りつぶしています。 何かいい方法はないでしょうか? よろしくお願いします。

  • 営業日のみの経過日数の求め方

    営業日のみの経過日数の求め方 エクセルで土日祝日を除いて、今までの経過日数を出すにはどうしたら良いでしょうか?                 (1)予備のセルに「TODAY」 セル A1 (2)発生した日に日付      セル B2 (3)経過日数          セル C3    (1)ー(2)=(3)経過日数 という風にしたのですが、それだと営業日以外の土日祝日が入ってしまいます。 どのようにすればいいのでしょうか? よろしくお願いします。

  • エクセル2002で日数計算

    二つのセルに入れた日付"04/11/25"と"05/7/10"の日数計算、出来れば、土日を除く関数等があれば教えていただけませんでしょうか。

  • Excelで何日後かを出したいのですが

    いつもお世話になっています Win2000 Office2000です。 A1に日付を入れるとB1に何日後かを出すようにしたのですが、過去ログなどを見てもし機能的にどうにかなればと思い質問させて頂きました。 B1のセルには 「=A1+30」と入れ30日後が計算できるようにしてあります。ここでネックなのが30日後が土日祝日だった場合は前の平日に繰り上がることです。土曜日曜なら金曜日に、祝日ならその前日の平日にです。カウントする日数は土日も含むため、逆に条件付書式などで土日祝日の場合は色をつけるようにしたり、C1のセルに土日祝日だったらフラグが立つようにしたりとやり方が色々あるとは思いますが、できれば簡単にしたいので(条件付書式はメモリが少ないので避けたいんです。)もしよい方法をご存知でしたらご教授いただけたらと思います。 どうぞよろしくお願い致します。

  • Excel97での、日数計算の仕方を教えて下さい。

    Excel97での、日数計算の仕方を教えて下さい。 例えば2001/9/1と入力すると、 別のセルに、その1ヶ月後の日付(2001/10/1)が 表示されるようにしたいんです。 どうすればいいのでしょうか。 また、一ヶ月後だけではなく 何日後、という計算方法も教えて下さい。

  • エクセルで特定日からの経過日数を表示する方法

    エクセルでの営業記録の作成を依頼されました。 その中に、顧客を訪問した日からの進捗を記録する のですが、顧客訪問からの営業日日数というセルを 作らないといけません。例えば、6月1日を顧客訪問日 とすれば、6月2日は2日目、3日は3日目、4,5日は週末 なので飛んで6日(月)が4日目といった具合です。 これを自動計算で表示されるようにしたいのですが、 その方法がわかりません。 エクセルの日付表示は=NOW( )しか知りません。 例えば、A1に特定日6月1日と入力してB1に 「=A1-NOW( )」のような計算式を入れれば良いと 思ったのですが、さすがにうまくいきませんでした。 もし、平日のみを計算するのが難しそうでしたら、 特定日から休日を含めた実日数でも良いです。 お願いします。

  • 日数の計算です

    エクセルの日付の計算です、初日が2007/11/10から月末までの日数を出す場合なのですが、2007/11/30を入力せず(日付の引き算ではなく、という言い方で正しいのでしょうか?)に、始まりの日から月末までの日数を求めるには、どのような関数になるのでしょうか?よろしくお願いします。

専門家に質問してみよう