【めざせExcelマスターへの道】一発でカレンダーを作る!

Excel
  • 意外と面倒なExcelでのカレンダー作成を、一瞬で行う方法を解説します
スポンサーリンク

意外と面倒なカレンダー作成

一つ一つ手打ち

仕事をしていると、Excelでのカレンダー作成が、定期的に発生する意外と面倒な作業です。

一行もしくは一列での作成なら、日付を入れて「=A1+1」と入れていけば難なく作れますが、曜日区切りのカレンダーを作るとなると、意外と手間です。

そもそも一番直近の日曜日を把握し、そこから+1しながら、下の行に関しては+7して…、と、作るとなるとそれなりに手数がかかります。

SEQUENCEを使う

そこで使える関数がSEQUENCEという関数です。

この関数は、行数と列数、開始位置と増分を指定すると、指定した行数×列数の配列を作ることができます。

例えば、「=SEQUENCE(3,4,1,1)」と入れると、3×4の1から12の配列を作ることができます。

これを応用すれば、列数7で配列を作れば、簡単にカレンダーが作れます。

直近の日曜日は?

このとき、開始位置は直近の日曜日に指定する必要があります。

そのために活用するのが、Weekday関数です。この関数は、該当の曜日が月曜なら1、火曜なら2と、曜日ごとに数字を割り振ることができます。

なので、直近の日曜日は、「=today()-weekday(today())」と入れると返却することができます。

実装してみる!

実際の関数

以上を踏まえると、次のように入れると、簡単にカレンダーが作れます。

=SEQUENCE(5,7,TODAY()-WEEKDAY(TODAY()))

対象月のみ表示する

なお、当月分のみ表示したい場合は少々長いですが、次のように入れると表示可能です。

=IF(MONTH(SEQUENCE(5,7,TODAY()-WEEKDAY(TODAY())))=MONTH(TODAY()),SEQUENCE(5,7,TODAY()-WEEKDAY(TODAY())),””)

コメント

タイトルとURLをコピーしました