重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

毎年10月の第一金曜日の日付けを表示させるにはどうしたらよいでしょうか?

年度を入力すると、その年度の10月の第一金曜日の日にち
○月○日(金)というように表示できないでしょうか?

よろしくお願いします。

A 回答 (2件)

同じようなものですが、クエリでの書き方例です。



SELECT format(iif(weekday([年?] & "/10",6)=1,[年?] & "/10",dateadd("d",8-weekday([年?] & "/10",6),[年?] & "/10")),"m月d日(aaa)") AS 日付;

これを保存実行すると、年? を聞いてきますので、2009 とか入力します。
( H21 の入力でも、平成21 の入力でも、そこそこ動きます)

※入力された年の 10/1 が、金曜日基準で1なら、10/1を、
でなければ、8 - 金曜日基準値 を10/1に加算。
それを指定形式に変換

※日付部分で日を省略すると1日となります。
明示的に "/10" を "/10/01" にしても・・・
    • good
    • 0
この回答へのお礼

ありがとうございます(^^)
自分のレベル以上ですが、がんばってやってみます。

お礼日時:2009/09/24 10:06

表示というのが不明ですが求め方としては10/1の曜日を調べ(WEEKDAY関数)、


あとはその結果で日付を±すると言うのは如何でしょう?

Dim i As Integer
Dim dd As Date

For i = 2001 To 2010
dd = DateSerial(i, 10, 1)
dd = IIf(Weekday(dd) < 6, dd + (6 - Weekday(dd)), IIf(Weekday(dd) = 6, dd, dd + 6))
Debug.Print Format(dd, "yyyy/mm/dd(aaaa)")
Next

がご参考になれば。
    • good
    • 0
この回答へのお礼

ありがとうございます。
自分のレベル以上ですが、がんばってみます。

お礼日時:2009/09/24 10:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す