• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【頭良い方HELP】スケジュール表)

スケジュール表の日付計算について教えてください

このQ&Aのポイント
  • スケジュール表を作成している中で、曜日によりスケジュールが異なる日付の計算がうまくいきません。どなたか教えてください。
  • 月次でのスケジュール表を作成していますが、曜日によってスケジュールが変更になります。特にE~G列の日付の自動計算がうまくいかない状況です。
  • スケジュール表にはサイクル表があり、それに基づいてE~G列の日付を自動計算する必要があります。どなたか解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

2007でしたか、残念。 日曜日だけを休日扱いするWORKDAY関数もどきのユーザ関数を作ってみました。 使い方はWORKDAY関数と同じです。 Function WorkdaySun(dDate As Date, nDay As Long, rRng As Range) As Date   WorkdaySun = dDate   For i = 1 To nDay     WorkdaySun = WorkdaySun + 1     Do       If Weekday(WorkdaySun) = vbSunday Then         '日曜日の処理         WorkdaySun = WorkdaySun + 1       ElseIf WorksheetFunction.CountIf(rRng, WorkdaySun) <> 0 Then         '祝祭日の処理         WorkdaySun = WorkdaySun + 1       Else         Exit Do       End If     Loop   Next End Function

nenesan23
質問者

お礼

ありがとうございました!!! IF関数と併用してうまくいきました。助かりました。

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

Excel2010以降でしたらWORKDAY.INTL関数で休日を日曜日のみに設定できますよ。 詳細はヘルプを見てください。

nenesan23
質問者

補足

残念ながら、Excel2007を使っており、 Excel2010以降ではありません。その場合の対処方法をご教授ください。 宜しくお願いします。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

図が小さくて全く見えませんので説明だけでは良く解らず、具体的な回答は出来ませんが、お望みの事はWORKDAY関数で実現できると思います。 添付の図では、C2セルに↓の式を入れ、C2:E4にコピーしてあります。 =WORKDAY($A2,C$1-1,$G$2:$G$6)

nenesan23
質問者

補足

ご回答ありがとうございます。 WORKDAY関数も考えたのですが、今回のスケジュールは月~土 ※祝日のぞくで作成が必要です。 WORKDAY関数だと、土曜日はカウントされしまいますよね? 何か日祝で計算出来る方法はあるでしょうか?