• 締切済み

Excelで出欠簿を作成する際に自動で特定の日付を入れたい

Excelで出欠簿を作成する際に自動で特定の日付を入れたいと思っています。 参加者はA列のA3~A10にあるとして、A1に2009年とし、B1に月を入力すると、 2行目のB2にその月の月曜日の日付、B2に木曜日の日付、C2に土曜日の日付を自動で入れることが出来ないかと悩んでおります。 検索しましたが、 このような抜き出した形でのやり方が見つけられませんでした。 お手数ですか、 ご経験やお分かりになる方がいらっしゃったらご教授いただけると助かります。 よろしくお願いいたします。

みんなの回答

回答No.6

A2セルに =DATE(A1,B1,1)+MOD(2-WEEKDAY(DATE(A1,B1,1)),7)

rdt151x
質問者

お礼

先程の件ですが、 セルの書式設定から表示形式をユーザー設定にして、 種類を"d"としてみました。 とりあえずこれでやってみようと思います。 他にやり方があれば、 よろしくお願いいたします。

rdt151x
質問者

補足

ありがとうございます。 A2セルに無事に表示されるのですが、 2009/3/2 となります。 可能であれば日にちだけを表示できると助かりますが、 お手すきの時にご教授いただければと思います。 よろしくお願いいたします。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

回答番号:No.4は、取り消して下さい。 うまく表示されません

rdt151x
質問者

お礼

いろいろと骨をおってくださり、 ありがとうございます。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

回答番号:No.1です No.1の式では、2009年6月のように(第1月曜日が1日)のとき、1日と表示されません。 ちょっと長い式になりますが修正です。 A2に 第1月曜日 =IF(DATE($A$1,$B$1,1)+7-WEEKDAY(DATE($A$1,$B$1,1),3)>=8,DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1),3),DATE($A$1,$B$1,1)+7-WEEKDAY(DATE($A$1,$B$1,1),3))

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

 お示しの条件と少し異なりますが、こんなことでもよいのでは? Sub Macro1()  Dim i As Byte  Range("C1:P2").Clear  For i = 1 To Day(DateSerial(Range("A1"), Range("B1") + 1, 0))   Select Case Weekday(DateSerial(Range("A1"), Range("B1"), i))    Case 2, 5, 7    With Range("A1").End(xlToRight)     .Offset(0, 1) = i     .Offset(1, 1) = Format(DateSerial(Range("A1"), Range("B1"), i), "AAA")    End With   End Select  Next End Sub

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

>2行目のB2にその月の月曜日の日付 たとえば、今年の3月ですと、 3/2、3/9、3/16、3/23、3/30 がありますが、これをB2に全部入れたい、ということですか?

rdt151x
質問者

補足

すみません。 私の記入ミスです。 回答番号No.1の方がお答えいただいたように、 A2に第1月曜日、 B2にその週の木曜日、 C2にその週の土曜日という形で考えています。 よろしくお願いいたします。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

A1に 2009 年 B1に 3 月 A2に 第1月曜日 =DATE($A$1,$B$1,1)+7-WEEKDAY(DATE($A$1,$B$1,1),3) B2に その週の木曜日 =A2+3 C2に その週の土曜日 =A2+5 第2月曜日は =A2+7

関連するQ&A