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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで不可日と祝祭日の考慮してランダムに毎日の当番表を作成したいと思っています。 1 2023/07/12 21:14
- Excel(エクセル) Excelで祝日を除く1回目の金曜日を返す 3 2023/01/31 16:07
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) Excel2019、2021の売り上げなどの集計表について 4 2022/11/29 14:03
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- その他(ビジネススキル・経営ノウハウ) エクセルで参加者一覧表から参加者リストを作りたいのですが・・・ 1 2023/06/08 17:29
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAについての質問です
-
Excelにいついて質問です。
-
CSVファイルについて質問です。
-
エクセルの「入力規則」のプル...
-
一つのセルに(例えばA1)入力...
-
Excelの関数について教えてくだ...
-
エクセルファイルがファイルの...
-
【マクロ】名前を保存する際に...
-
エクセル共有したが、アクセス...
-
エクセル vbaについて教えてく...
-
Excel 複数列 A列B列C列一致 D...
-
エクセルであるセルに数字を入...
-
エクセルのデーターが2か月前の...
-
UNIQUE関数が使えないバージョ...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
Excelでセルの値が同じか...
-
Excelはなんで先頭の0を消すん...
-
【Excel】数字を3倍にし、なお...
-
エクセルで年休を管理する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報