日付から直近の日曜日の日付を求める方法です。日付が日曜日である場合にその日でよしとする場合と、次の日曜日を求める場合の2通りを示します。
当然ですが何曜日を求める場合にも応用可能です。
例として右のようなテーブルを用いて、「登録日」以降最初の日曜日を求めるものとします。
当日を含めてよい場合
クエリデザインで次のように入力します。
直近日曜: DateAdd("d",7-Weekday([登録日],2),[登録日])
「Weekday([登録日],2)」は日付が月曜日のとき1を、火曜日のとき2を、…日曜日のとき7を返しますので「7-Weekday([登録日],2)」は月曜日の場合は6を、火曜日の場合は5を、…日曜日の場合は0を返します。DateAdd関数を用いてこの日数を加えた日付を求めているというわけです。
なお、「曜日」列は確認のため表示しているもので、日曜日を求めるのには必要ありません(以下同様)。
日付が日曜日の場合(2015/11/15)には、当日の値が返されていることがわかります。
翌日以降の日曜日を求める場合
クエリデザインで次のように入力します。
翌日以降日曜: DateAdd("d",8-Weekday([登録日]),[登録日])
「Weekday([登録日])」は日付が日曜日のとき1を、月曜日のとき2を、…土曜日のとき7を返しますので「8-Weekday([登録日])」は日曜日の場合は7を、月曜日の場合は6を、…土曜日の場合は1を返します。DateAdd関数を用いてこの日数を加えた日付を求めているというわけです。
日付が日曜日の場合(2015/11/15)には、次の日曜日の値(2015/11/22)が返されていることがわかります。