- 公開日:
スプレッドシートの関数を使ってカレンダーを自動生成する方法
スプレッドシートは日常的な業務やプロジェクト管理に活用される便利なツールです。
今回は、その中でも特に便利な関数を使って、カレンダーを自動生成する方法についてご紹介します。
手作業で日付や曜日を入力する手間を省き、効率的にカレンダーを作成する方法を解説します。
スプレッドシートの関数を使ってカレンダーを自動生成する方法
スプレッドシートの関数を使えば、日付や曜日を自動表示させることが可能です。
詳しい手順を解説していきますので、ぜひお試しください。
横型カレンダーの作成方法
今回は、2024年5月のカレンダーを例として、横型カレンダーの作成方法を解説します。
![任意のセルに年月を入力する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet1.png)
任意のセルに「年」(例:B1セル)と「月」(例:B2セル)を入力します。
数字のみを入力するようにしてください。
![関数をコピー&ペーストする](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet2.png)
A4セルに次の関数をコピー&ペーストしてEnterキーを押します。
=ARRAYFORMULA(TEXT(DATE(2024, 5, 1) + MOD(COLUMN(A1:G1)-WEEKDAY(DATE(2024, 5, 1)), 7), "ddd"))
この関数では、日曜日から始まる曜日をA4セルからG4セルまで、自動で入力することが出来ます。
![曜日が入力された](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet3.png)
一週間の曜日が自動入力されました。
![A5セルに関数をコピー&ペーストする](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet4.png)
A5セルに次の関数をコピー&ペーストしてEnterキーを押します。
=ARRAYFORMULA(IF(((ROW(A5:A)-ROW(A5))*7 + COLUMN(A5:G)-COLUMN(A5) + 1 - WEEKDAY(DATE($B$1, $B$2, 1), 1) + 1) > 0, IF(((ROW(A5:A)-ROW(A5))*7 + COLUMN(A5:G)-COLUMN(A5) + 1 - WEEKDAY(DATE($B$1, $B$2, 1), 1) + 1) <= DAY(EOMONTH(DATE($B$1, $B$2, 1), 0)), TEXT(DATE($B$1, $B$2, (ROW(A5:A)-ROW(A5))*7 + COLUMN(A5:G)-COLUMN(A5) + 1 - WEEKDAY(DATE($B$1, $B$2, 1), 1) + 1), "d"), ""), ""))
この関数では、入力した「年」「月」の日付を自動出力しカレンダーに表示することができます。
今回は、B1セルとB2セルに連動した日付を表示させるようにしていますが、 関数の中の「$B$1, $B$2」(B1セル、B2セル)を変更することで、お好きなセルに「年」「月」を設定できます。
![日付が自動入力された](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet5.png)
日付が自動入力されました。
![カレンダーが作成できた](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet6.png)
カレンダーを作成できました。
フォントサイズを変更したり、日曜日の列を赤、土曜日の列を青の背景色に変更するなど、お好みで全体を整えましょう。
![月を変更する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet7.png)
B2セルの「月」を変更すると、自動的に日付が変更されます。
注意点として、背景やテキストの色などの書式は以前の状態が残っているため、手動で変更しましょう。
![年を変更する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet8.png)
B1セルの「年」を変更しても、その年の日付が表示されます。
縦型カレンダーの作成方法
縦型カレンダーも関数を使用することで、手動操作を最小限に抑えて作成することができます。
![年月を入力する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet9-1.png)
任意のセルに「年」(例:A1セル)と「月」(例:A2セル)を入力します。
数字のみを入力してください。
![A4セルに関数を入力する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet10.png)
A4セルに次の関数を入力し、Enterキーを押します。
=ARRAYFORMULA(IF(ROW(A4:A)-ROW(A4)+1 <= DAY(EOMONTH(DATE(A1, A2, 1), 0)), DATE(A1, A2, ROW(A4:A)-ROW(A4)+1), ""))
この関数では、入力した「年」「月」の日付を自動出力しカレンダーに表示することができます。
今回は、A1セルとA2セルに連動した日付を表示させるようにしていますが、 関数の中の「A1」と「A2」を変更することで、お好きなセルに「年」「月」を設定できます。
![表示形式を変更する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet11-1.png)
数字のみが表示された場合は、表示形式を変更することで日付を表示させることが出来ます。
![メニューからカスタム日時を開く](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet12.png)
①「月」が表示される範囲(例:A4セルからA34セル)を選択し、②メニューバーの「表示形式」、③「数字」、④「カスタム日時」の順でクリックします。
![表示形式を選択する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet13.png)
①お好きな表示形式を選択し、②「適用」ボタンをクリックします。
![日付が表示された](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet14.png)
表示形式が変更され、日付が表示されました。
![B4セルに関数を入力する。](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet15.png)
B4セルに次の数式をコピー&ペーストし、Enterキーを押します。
=ARRAYFORMULA(IF(A4:A<>"", TEXT(A4:A, "ddd"), ""))
この関数により、A列に対応する曜日がB列に表示されます。
![縦型のカレンダーが完成した](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet16.png)
縦型のカレンダーが完成しました。
日曜日の行を赤、土曜日の行を青の背景色に変更するなど、お好みで全体を整えましょう。
![表示する月を変更する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet17.png)
月を変更すると、「日」「曜日」が自動的に変更されました。
背景や色などは以前の状態が残っているため、手動で変更しましょう。
![表示する年を変更する](https://g-tips.jp/wp-content/uploads/auto-generate-calendar-with-functions-in-spreadsheet18.png)
「年」を変更しても、その年の日付が表示されます。