

卓上カレンダーの類は、日曜日から始まり土曜で折り返す5行x7列の形式が多いですが、これを関数式でやろうとするとなかなかに難しい。

あなたは、新人にExcelの関数式の勉強のつもりで出題しました。
Excelで、次のようなカレンダーを自動生成する関数式を作成したいです。
・セルA1に任意の西暦(例:2025や2024)
・セルB1に任意の月(例:1月や12月)
これらを入力すると、セルA3:G7の範囲(35個のセル)が自動的に5行×7列のカレンダーを生成し、1日からその月の最終日までの日付が正しく表示されるようにしたいです。
条件として、セルA3に入力した関数式をそのままA3:G7全体にコピー&ペーストするだけで動作するようにしてください。
ポイントは以下です。
・ツイタチをどこに出力するか・日付(通番)が一週間で自動で折り変えせるか
・月末最終日で打ち止めできるか
回答が提出されても、あなたはそれが正しいかどうかを評価するのに苦戦するでしょう。関数式の書き方は何通りもあるのですから。
実験的に1年分や閏年の2月などを動作確認してOKを出すことでしょう。

このような課題を勉強の意図で新人に課す時代は終わりかもしれません。生成AIにほしいものを依頼することで出来上がってきます。


簡単に回答が得られました。
=IFERROR(IF((ROW(A3)-ROW($A$3))*7+COLUMN(A3)-COLUMN($A$3)-WEEKDAY(DATE($A$1,$B$1,1),2)+2>0,IF((ROW(A3)-ROW($A$3))*7+COLUMN(A3)-COLUMN($A$3)-WEEKDAY(DATE($A$1,$B$1,1),2)+2<=DAY(EOMONTH(DATE($A$1,$B$1,1),0)),(ROW(A3)-ROW($A$3))*7+COLUMN(A3)-COLUMN($A$3)-WEEKDAY(DATE($A$1,$B$1,1),2)+2,""),""),"")




コメントを残す