
No.5ベストアンサー
- 回答日時:
関数で
第2行目に4月を出すとして
=DATE(2006,ROW()+2,1)+MOD(12-(WEEKDAY(DATE(2006,ROW()+2,1))),7)これを下方向に式を複写する。
2006/4/6
2006/5/4
2006/6/1
2006/7/6
2006/8/3
2006/9/7
2006/10/5
2006/11/2
2006/12/7
2007/1/4
2007/2/1
各月の一日の曜日コードを捉え、木曜=5との差を補正して
います。月初が、木曜を越えるばあい、超えない場合があるので12にして、MODで余りを取ってます。
大丈夫と思いますが、チェックしてください。
この回答への補足
#1さん、#4さんの方法でも応用できることに気づいたのですが
質問にて「最初の4月のみの入力で」とさせていただいていたので
それに合致した回答をくださった#5さんにポイントを発行させていただき、これにて質問を締切らせていただきます。
それぞれの関数の内容にどのような意味があるのか
素人の私ではわからないのですが、
いろんな方法があることに感心いたしました。
みなさんありがとうございました。
No.6
- 回答日時:
#3です。
「最初の4月のみの入力で」というのを読み損ねていましたので、少し簡単な式を考えてみました。A2 4/6
A3=D2+28+7*(MONTH(D2)=MONTH(D2+28))
あとは、以下コピーしてください。式の意味は、「4週間後が同じ月だったら、その7日後を出す」です。2月が一番短くて、28日ですのでちょうど4週間になります。翌月の最初の木曜日は、4週間後か、5週間後のいずれかですので、その判断をさせています。
No.4
- 回答日時:
A1=2006 として4月~3月の第1木曜日でいいのでしょうか?
A2=DATE($A$1,ROW(A4),8-WEEKDAY(DATE($A$1,ROW(A4),3)))
これでA2が2006/4/6になります。
後はこれを下方にコピーしてください。
試したところ、#1さんと同様の結果が得られました。
答えはひとつではないんだなぁと感心いたします。
数式が短くてスマートですね。
ご回答ありがとうございました。
No.3
- 回答日時:
A2 1/5
A3 2/2
A4 3/2
.
.
.
のように表示するとしますと、
=DATE(2006,ROW()-1,CHOOSE(WEEKDAY(DATE(2006,ROW()-1,1),2),4,3,2,1,7,6,5))
を、A2~A13に入れてやればよろしいようで・・・。
No.2
- 回答日時:
関数は解りません。
マクロなら。
Sub First_Thursday()
Dim y As Integer, m As Integer, d As Integer
Dim cnt As Integer
'開始年度
y = Application.InputBox("開始年度は?", "年度", Year(Date), Type:=1)
If y > 0 Then
m = 4 ' 開始月
cnt = 2 '値を入れる開始行
Do While m < 16
For d = 1 To 7
If Weekday(DateSerial(y, m, d)) = 5 Then '5が木曜
Range("A" & cnt).Value = DateSerial(y, m, d)
cnt = cnt + 1
Exit For
End If
Next d
m = m + 1
Loop
End If
End Sub
ご回答をいただいておいて、申し訳ないのですが
マクロではなく関数での方法を知りたかったのです。
条件の説明が足りずにすみませんでした。
それでもご回答くださったことに感謝します。
No.1
- 回答日時:
例えば、
A1
=2006
とA1に年度を入れます
A2に
=DATE($A$1,4+ROWS($A$2:A2)-1,1)+MOD(7-WEEKDAY(DATE($A$1,4+ROWS($A$2:A2)-1,1))+5,7)
と入力して、セルの書式設定を日付(3/14を選んで)
以下下方向に11ヶ月分コピーします
2007年度からは、A1セルの年度の部分を変更すればいいです。
早々のご回答をありがとうございました。
自分としては4月の日付を変更することで
次年度にも使いたかったのですが、
A1の「2006」の部分をタイトルとして用いれば
応用できそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、Scroll Lockと同じ...
-
表計算ソフトでの様式の呼称
-
エクセルでフィルターした値を...
-
【画像あり】【関数】指定した...
-
エクセルシートの見出しの文字...
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】ファイ...
-
エクセルに写真が貼れない(フ...
-
【関数】=EXACT(a1,b1) a1とb1...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】既存ファイルの名前...
-
LibreOffice Clalc(またはエク...
-
Dir関数のDo Whileステートメン...
-
空白のはずがSUBTOTAL関数でカ...
-
【マクロ】【画像あり】4つの...
-
セルにぴったし写真を挿入
-
EXCELのVBAで複数のシートを追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報