• 締切済み

日曜日と祝日の除いた日付差をカウントしたい

エクセル2007を使用しています。 開始日と終了日の日曜日と祝日を除いた日付差を算出したいと考えていますが、 日付差の算出ができませんので、どなたか教えてください (土日祝の場合は出来るのですが・・・) F列に開始日 L列に終了日 M列に日付差(-~+で表示) ※開始日の方が大きい場合があります 画像添付していますので、ご参照ください 宜しくお願いします

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 回答No.3です。  前回の私の回答にある関数を、もう少し簡略化出来る事に気づきました。  M2セルに入力する関数は次の様になります。 =IF(ISNUMBER(1/DAY($F2)/DAY($L2)),(ROUNDUP((ABS($L2-$F2)+1)*6/7,0)-OR(WEEKDAY(MIN($F2,$L2))>WEEKDAY(MAX($F2,$L2)),WEEKDAY(MIN($F2,$L2))=1)*(WEEKDAY(MIN($F2,$L2)-1)<>WEEKDAY(MAX($F2,$L2)))-COUNTIFS($O:$O,">="&MIN($F2,$L2),$O:$O,"<="&MAX($F2,$L2)))*SIGN($L2-$F2),"")

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

回答No.1の訂正です。 前回の回答では土曜日と祝祭日がダブったときに誤差が生じますので補正が必要です。 2014/5/3が土曜日のため範囲に含ませるときの処理が必要でした。 下記のように加算し過ぎた日数を減算します。 重複分=SUMPRODUCT((P$2:P$20>=F5)*(P$2:P$20<=L5)*(WEEKDAY(P$2:P$20)=7)) =NETWORKDAYS(F5,L5,$P$2:$P$20)+INT((L5-F5+WEEKDAY(F5,1))/7)-SUMPRODUCT((P$2:P$20>=F5)*(P$2:P$20<=L5)*(WEEKDAY(P$2:P$20)=7))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 祝日のリストが何列目に作成されているのかという事が、御質問文中では説明されておりませんので、取り敢えず、祝日のリストが作成されている列はO列であるものとして回答させて頂きます。  又、開始日や終了日が何行目から入力されているのかという事も、、御質問文中では説明されておりませんので、取り敢えずの話として、開始日が入力されているセルがF2セルで、終了日が入力されているセルがL2セルである場合に関して回答させて頂きます。  上記の場合、M2セルには次の様な関数を入力されると良いと思います。(他にも色々なやり方がある筈です) =IF(ISNUMBER(1/DAY($F2)/DAY($L2)),(MAX($F2,$L2)-MIN($F2,$L2)+1-INT((MAX($F2,$L2)-MIN($F2,$L2)+1)/7)-OR(WEEKDAY(MIN($F2,$L2))>WEEKDAY(MAX($F2,$L2)),WEEKDAY(MIN($F2,$L2))=1)*(WEEKDAY(MIN($F2,$L2)-1)<>WEEKDAY(MAX($F2,$L2)))-COUNTIFS($O:$O,">="&MIN($F2,$L2),$O:$O,"<="&MAX($F2,$L2)))*SIGN($L2-$F2),"")

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

土曜日が祝日の時は単純に土曜日の数をカウントするだけでは正しい値を返しませんので、自分で関数を作成する必要があります(+-100日までの数式)。 例えば、開始日が必ず終了日よりも前の時は以下のような数式になります。 =SUMPRODUCT((WEEKDAY(開始日+ROW($A$1:$A$100)-1)<>1)*(COUNTIF(祝日リスト,開始日+ROW($A$1:$A$100)-1)=0)*(開始日+ROW($A$1:$A$100)-1<=終了日)) 開始日が終了日よりも小さい時も計算できるようにするには「開始日」の部分を「MIN(開始日,終了日)」に変更し、終了日の部分を「MAX(開始日,終了日」にして、数式の先頭にSIGN関数を追加してください。 =SIGN(終了日-開始日)*SUMPRODUCT((WEEKDAY(MIN(開始日,終了日)+ROW($A$1:$A$100)-1)<>1)*(COUNTIF(祝日リスト,MIN(開始日,終了日)+ROW($A$1:$A$100)-1)=0)*(MIN(開始日,終了日)+ROW($A$1:$A$100)-1<=MAX(開始日,終了日)))

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>開始日と終了日の日曜日と祝日を除いた日付差を算出したいと考えていますが、日付差の算出ができませんので、どなたか教えてください NETWORKDAY関数では土日祝を引いた日数のため不都合となれば土曜日の数を加算することで解決します。 土曜日の数=INT((L2-F2+WEEKDAY(F2,1))/7) =NETWORKDAYS(F2,L2,P2:P20)+INT((L2-F2+WEEKDAY(F2,1))/7) >※開始日の方が大きい場合があります その時は負の値となりますのでIF関数で空欄にすべきと思います。 =IF(F2>L2,"",NETWORKDAYS(F2,L2,P2:P20)+INT((L2-F2+WEEKDAY(F2,1))/7))

関連するQ&A

  • 日曜日を除く翌営業日の日付算出

    エクセルで翌営業日の日付を自動算出したいと考えています。 営業日は日曜日と祝日以外すべてです。 B1に本日の日付があり、 D1に翌営業日の日付を自動算出したいです。 祝日は別シートで祝日マスタを持っています。 困っているので、詳しい方教えてください。 宜しくお願いします。

  • excel2003 最初の7日間だけ日曜と祝日を除いた日付計算

    excel2003で日付計算をしているのですが、最初の7日間(一週間)のみ 日曜と祝日を除きます。8日目以降は日曜日も祝日も含めて日付を算出します。 この方法をどなたか分かる方がいたらご教授お願いします。

  • 日曜&祝日を除く7営業日後(EXCEL)

    EXCEL初心者です EXCEL2007(12.0.6654 5503)SP2を使用しております もしわかりましたら教えてください A   B    C     D 1 2012/6/1  2012/6/9    11日目  2012/6/21   2 2012/6/4  2012/6/12    9日目 3 2012/6/9  2012/6/18    4日目 (1)セルA列に日付がはいってます  セルB列にセルA列の7営業日後(日曜、祝日は休み。土曜日は営業)  を自動的に表示されるようにしたい (2)セルD1には今日の日付がはいってます  セルC列にB列の日付から今日まで何日経ったか、営業日の日数(日曜、祝日は休み。土曜日は営業)  で自動的に表示されるようにしたい 説明がわかりずらかったらすみません 補足しますのでその旨記載お願いします

  • Access 特定日のカウント

    こんにちは。 Access2002を使っています。 考え方がわからないので教えてください。 テーブルAには連続したユニークな「日付」列があります。 テーブルBには各会員の「開始日」列と「終了日」列があります。 知りたいことは、「日付」に対して、「開始日」と「終了日」の間に 何日分の有効レコードがあるかです。 [日付]の列にbetween [開始日] and [終了日]としてカウントを取れば 簡単に出そうなのですが、別々のテーブルです。 例えば「日付」には1/4からの連続した日付、 「開始日」-「終了日」には、 12/20-1/5 1/1-1/15 とあるとします。 導き出したい答えは 「日付」 1/4:有効2レコード 1/5:有効2レコード 1/6:有効1レコード 旨く説明できなくて済みません。 期間中の有効日付の数をどのように数えたらいいのか教えてください。 よろしくお願いします。 haru

  • excelで日付の関数・・・

    すごく初心者的な質問ですみません。 excelで日付関数を使いこなせなくて困っています。色々ネットで調べたり、本を見たりしましたが、出来なくて。。。 ある列に入力した日付(例えば2004/2/19とか・・)の 10日後の日にちを別のセルに出したいのです。 それはいとも簡単にできるんですが(当り前か??) その10日後ってゆうのが曲者で、10日後が、土日祝にあたる場合は月曜日若しくは祝日の翌日の日にちが入るように指定したいのです! ちなみにWORKDAY 関数だと、10日間カウントするにも土日祝を抜いて計算 してしまいますよね??? 皆さんならどうやって処理されますか???? 明日、処理したいのですみませんが早めにご回答お願いいたします!

  • エクセル ○営業日後の日付の算出

    日曜祝日、会社祭日を休日として、 ○営業日後の日付の算出をしたいのですが、 良い方法があれば教えて下さい。

  • なぜ、保育園は日曜・祝日が休みなのか?

    法律的には、児童福祉法で「保育に欠ける」者を保育するのが義務だということですが、なぜ日曜・祝日は保育園が開いていないのでしょうか?「保育園は休日閉める」という法律があるのでしょうか?官公庁が土日祝休みなので、それにあわせているのかもしれませんが、サービス業など休日の方が休めないということもあるはずなのにこれって、変だと思います。法律的な根拠があるんでしょうか?

  • 祝日の扱いについて

    完全週休二日制です。 日曜日は必ず休みで、月曜~土曜のうち1日が休みです(曜日は固定していません)。 祝日がある週について疑問があります。 1週間に2日以上祝日があると、その分の休みを別の週に振替て出勤しなければなりません。 例えば、一週間の勤務日を ○…出勤 休…休み 日…日曜 祝…祝日として、 普段の休日が   ○ ○ 休 ○ ○ ○ 日  だとすると、 祝日がある週は  ○ 祝 ○ ○ ○ ○ 日  となります。 問題は次で、 祝日が2日だと  ○ 祝 祝 ○ ○ ○ 日  となり、 次の週は     ○ ○ ○ ○ ○ ○ 日  になります。 つまり、祝日があっても、一ヶ月に8日(週休2日×4週)しか休めないことになっています。 これって、おかしくないですか?何のための祝日なんでしょう…。 法的には問題ないんでしょうか。 どなたか教えてください。

  • Excel関数で当月の第一日曜日の日付を表示したい

    Excel関数で当月の第一日曜日の日付を表示したいです。 例えば2009年7月の第一日曜日は7月5日です。 このように当月の第一日曜日の日付を○月○日のように 文字列で表示させる関数を教えてください。 ちなみに、同シート内には当月の開始日を入力しています。 以上宜しくお願い致します。

  • 日曜日は法的に休日?

    国民の祝日に関する法律(祝日法)では、国民の祝日を休日と規定していますが、日曜日を休日とする規定はありません。 しかし、一般的に「土曜・休日」という場合、休日に日曜日を含んでいますね。他の法律で、日曜日は休日と規定されているのでしょうか。それとも、単なる慣習的に呼ばれているだけなのでしょうか。 また、昨今では官公署などは、土日休みになっていますが、日曜日を休日に含めても土曜日は休日に含めていませんね。土曜日と日曜日では、何らかの法的な相違はあるのでしょうか。

専門家に質問してみよう