• 投稿日:2026/01/07
【第1回】日付入力の手間をゼロに──"自動カレンダー"の仕組みをつくろう!

【第1回】日付入力の手間をゼロに──"自動カレンダー"の仕組みをつくろう!

  • 1
  • -
とっちー@Excel忍者

とっちー@Excel忍者

この記事は約2分で読めます
要約
毎月の「勤務表づくり」がラクになる! 日付を打ち変えて、土日を塗って、曜日を確認して── Excelが得意でも、地味に時間がかかる「月替わり作業」。 このシリーズでは、そんな**“勤務表あるある”の悩み**をひとつずつ取り上げて、 自動化・ラクにする工夫を紹介していきます。

◼️ 第1回のテーマは「カレンダーの自動生成!」

年月を入力するだけで、1日〜末日まで自動で並ぶ仕組みを作っていきます。

1.完成図

👇まずは土台となるシート。

スクリーンショット 2026-01-07 14.45.01.pngこれを下図のように、自動で月末が表示されるようにします。
2月(B1が月)が28日で終わってるのがわかるかと思います。

スクリーンショット 2026-01-07 14.50.42.png2.関数の説明

まず日付の行(B2~AF2)に入れる関数はこちら

=IF(COLUMN(A1)<=DAY(EOMONTH(DATE($A$1,$B$1,1),0)),COLUMN(A1),"")

ごちゃごちゃしてわかりにくいかと思いますが、ポイントだけ簡単に説明します。

COLUMN(A1)

👉 「A列は何番目の列か」 を返す関数。
A列だと「1」B列だと「2」になります。

EOMONTH(基準日, 月数)

👉 「基準日から、指定した月数だけ前後した“月末日”」を返す関数

例)

=EOMONTH("2026/1/1",0)

👉 結果
2026/1/31

先ほどの👇

=IF(COLUMN(A1)<=DAY(EOMONTH(DATE($A$1,$B$1,1),0)),COLUMN(A1),"")

これを読み解くと👇

=IF( 今の列番号(1,2,3…)が その月の最終日以内なら, その番号を表示, それ以外は空白)

こんな感じになります。

3.入力方法

=IF(COLUMN(A1)<=DAY(EOMONTH(DATE($A$1,$B$1,1),0)),COLUMN(A1),"")

👆式を下図のようにB2に入力して横に引っ張ってあげます。

スクリーンショット 2026-01-07 15.38.16.png
次にB2(月)2月にしてあげると

スクリーンショット 2026-01-07 15.20.06.png👆こんな感じで月末がうまく処理できたかと思います。

◼️ まとめ

いくつか聞き慣れない関数を使用しましたが、もちろん全て理解できなくでも構いません。

今回紹介した式はコピぺで使えるので、アレンジして活用してみてください

◼️ 次回

次回は「曜日」の月末処理も自動で変わるようにしますのでお楽しみに!

スクリーンショット 2026-01-07 15.42.46.png

ブックマークに追加した記事は、ブックマーク一覧ページで確認することができます。
あとから読み返したい時に便利です。

とっちー@Excel忍者

投稿者情報

とっちー@Excel忍者

トラ会員

この記事に、いいねを送ろう! 参考になった記事に、
気軽にいいねを送れるようになりました!
この記事のレビュー(0

まだレビューはありません