Excelで予定表(スケジュール表)を作成することは多いと思いますが、毎月、作成するのは面倒ですね。
ここでは、[年]と[月]を選択するだけで、予定表が作成できるように関数を使って作成します。
一度作成すると、繰り返し使用できます。便利なオリジナルの予定表を作成してみませんか?
また、土日と祝日のセルには条件付き書式で塗りつぶしの色を設定します。
もし、作成済みの予定表などがあれば、活用できそうな要素だけでも取り込んでみてください。
この記事の目次
表の作成
予定表の項目や、罫線などは、以下のようにしています。
セル[A2]からセルC[33]までを予定表の範囲として罫線(格子)を設定して、セル[E2]からセル[F3]は、年と月を表示する表としています。
できれば、罫線は作成後に設定されるほうがいいと思いますが、ここではわかりやすくするために先に設定しています。
罫線は、任意で設定してください。
[年]と[月]をリストから選択できる入力規則を作成
年と月をドロップダウンリストから選択できるようにします。
ここでは、セル[E3]に[年]を、セル[F3]に[月]を選択できるようにします。
セル[E3]を選択して、[データ]タブの[データツール]グループにある[データの入力規則]をクリックします。
[データの入力規則]ダイアログボックスが表示されます。
[設定]タブを選択して、[入力値の種類]で[リスト]を選択します。
[元の値]のテキストボックスに、リストに表示したい数値(年)を入力して、[OK]ボタンをクリックします。
ここでは、以下のように入力します。カンマで区切ります。
2021,2022,2023
セル[E3]も同じように、[月]を表示できるように以下のように設定します。
1,2,3,4,5,6,7,8,9,10,11,12
セル[E3]とセル[F3]は、ドロップダウンリストから選択できるようになります。
年と月は、表示しておきます。
DATE関数で日付を表示
セル[A3]にDATE関数を使って、日付を表示します。
年と月は、セル参照にします。セル[A3]には、[2021/7/1]と表示されます。
=DATE(E3,F3,1)
DATE 関数 - Office サポート(Microsoft)
参考[関数の挿入]ダイアログボックスや[関数の引数]ダイアログボックスの表示については、以下の記事で解説しています。
-
関数を使って作業効率化(関数の探し方とダイアログボックスの表示)
Excelの関数がわかると、作業を効率化できます。 [関数の挿入]ダイアログボックスや[関数の引数]ダイアログボックスの表示方法を解説します ...
一か月分の日付を表示
セル[A4]に[=A3+1]と入力します。[2021/7/2]と表示されます。
=A3+1
オートフィル機能を使って、セル[A33]までドラッグして数式をコピーします。
セルの書式設定で曜日を表示
日付のセルには、曜日を表示するように設定します。
セル[A3]からセル[A33]まで範囲選択して、[セルの書式設定]ダイアログボックスを表示します。
ショートカットキーは、[Ctrl]+[1]です。
[表示形式]タブの[ユーザー定義]を選択します。
[種類]のテキストボックスに[yyyy/m/d(aaa)]と入力して[OK]ボタンをクリックします。
[yyyy/m/d]は表示されていると思いますので、[(aaa)]のみ入力します。
yyyy/m/d(aaa)
選択したセル範囲に、曜日が表示されるようになります。
参考もし、曜日だけ隣のセルに表示させたい場合は、以下のようにセル[B3]に[=TEXT(A3,"aaa")]と入力してください。
=TEXT(A3,"aaa")
TEXT 関数 - Office サポート(Microsoft)
土日のセルに塗りつぶしを設定
土日と祝日のセルに条件付き書式を使って、塗りつぶしを設定します。
セル[A3]からセル[A33]まで範囲選択して、[ホーム]タブの[スタイル]グループにある[条件付き書式]から[新しいルール]をクリックします。
[新しい書式ルール]ダイアログボックスが表示されます。
日曜日のセルに塗りつぶしを設定
[数式を使用して、書式設定するセルを決定]を選択して、[次の数式を満たす場合に値を書式設定]の数式ボックスに、以下のように入力します。
WEEKDAY関数は、曜日を割り出す関数です。戻り値は、日曜=1~土曜=7となります。
1を指定することで[日曜]を判別できるわけです。
=WEEKDAY(A3)=1
WEEKDAY 関数 - Office サポート(Microsoft)
そして、[書式]をクリックして、塗りつぶしの色を設定します。
[書式]をクリックすると、[セルの書式設定]が表示されますので、[塗りつぶし]タブで任意の色を指定します。
ここでは、[その他の色]をクリックして、[色の設定」の[標準]タブで指定しています。
参考もし、塗りつぶしではなく、フォントの色を指定したい場合は[フォント]タブで色を指定します。
以下のように設定できたら、[OK]ボタンをクリックします。
土曜日のセルに塗りつぶしを設定
同じように土曜日のセルにも塗りつぶしを設定します。
数式は、以下のように入力します。
=WEEKDAY(A3)=7
以下のように、土日のセルに塗りつぶしが設定されます。
参考土日のセルではなく、行に塗りつぶしを設定したい場合は、塗りつぶしを設定したい範囲を選択して、条件付き書式で、以下のように入力します。
=WEEKDAY($A3)=7
以下の記事が参考になると思います。
-
ドロップダウンリストから選択して自動的にセルに塗りつぶしを設定
Excelで表を作成してセルに入力する文字列が決まっている場合は、データの入力規則を使ってドロップダウンリストから選択して入力できるようにす ...
祝日のセルに塗りつぶしを設定
祝日のセルに塗りつぶしを設定するには、先に祝日リストを作成します。
祝日リストの作成
別シートに以下のサイトを参考に祝日リストを作成します。
2021年の祝日リストです。会社の記念日などでお休みになる日があれば追加してください。
日付は、文字列ではなく、日付形式にします。
参考祝日リストは、NETWORDAYS関数や、WORKDAY関数などでも使用します。
-
営業日数を求めるNETWORKDAYS関数とNETWORKDAYS.INTL関数
Excelで土日と祝日を除いて、開始日から終了日までの日数を求める方法です。 NETWORKDAYS(ネットワーク・デイズ)関数を使います。 ...
-
開始日から指定した営業日後の日付を求めるにはWORKDAY関数
土日と祝日などを除いて、開始日から指定した日数の経過した日付を求める方法です。 WORKDAY関数を使います。 土日以外の曜日を除きたい場合 ...
範囲に名前付け
セル[A2]からセル[A18]までを範囲選択して、名前を付けます。
名前は、[名前ボックス]に入力して[Enter]キーを押します。任意の名前で構いません。
ここでは[祝日]とします。
参考範囲に名前を付けたり修正する方法は、以下で解説しています。
-
セル範囲に名前を定義して数式で使用する
Excelでは、セル範囲に名前を定義しておくと、関数の引数に名前を利用することができます。 定義された名前は、[数式]タブの[数式で使用]ボ ...
条件付き書式で設定
条件付き書式で以下のように設定します。塗りつぶしの色も任意で指定してください。
数式には、COUNTIF関数を使用します。
[=COUNTIF(範囲,検索条件)]でセル範囲の中で検索条件にあう数を求めます。以下は、日付が祝日リストの中にある場合、書式設定をするという意味になります。
=COUNTIF(祝日,A3)=1
COUNTIF 関数 - Office サポート(Microsoft)
以下のように祝日に塗りつぶしが設定されます。
タイトルも自動表示
セル[B1]にタイトルを入力しますが、このタイトルも自動で切り替えられるようにします。
セル[B1]に[=A3]と入力します。
セル[B1]を選択して、[セルの書式設定]ダイアログボックスを表示します。
[表示形式]タブの[ユーザー定義]を選択して、[種類]のテキストボックスに以下のように入力して[OK]ボタンをクリックします。
yyyy年m月の予定表
ダブルクォーテーションは、自動で付きますので、一度、閉じて開くと以下のようになっています。
yyyy"年"m"月""の""予""定""表"
以下のように入力した方が分かりやすかもしれません。
以下のように入力すると、表示が変わることはありません。文字の部分はダブルクォーテーションで囲むということです。
yyyy"年"m"月の予定表"
以下のように表示されます。
参考[セルの書式設定]の[表示形式]には便利なものがあります。
-
郵便番号と電話番号の簡単入力(東京都内の電話番号は超便利)
セルに郵便番号を入力する場合、7桁の番号を連続して入力しても、自動で3桁目の後ろに[-](ハイフン)を表示させることができます。 また、電話 ...
タイトルを中央配置に
タイトルを表の中央に配置します。
セル[A1]からセル[C1]を範囲選択して、[ホーム]タブの[配置]グループにある[セルを結合して中央揃え]をクリックします。
タイトルが中央に配置されます。フォントサイズなども任意で調整してください。
セル[E3]とセル[F3]の値を変更して、自動で日付とタイトルが変更するかを確認します。
翌月の日付が表示されないようにする
月の日数は、28日から31日までなので、31日より少ない場合は、翌月の日付が表示されてしまいます。
翌月の行を非表示にしてもいいですが、ここでは、翌月の日付が表示されないように関数で設定します。
セル[A31]に以下の数式を入力してみます。
セル[A30]の月[MONTH]が同じならば、[+1]して、そうでなければ[""](空白)にする、という意味です。
=IF(MONTH(A30)=MONTH(A30+1),A30+1,"")
MONTH 関数 - Office サポート(Microsoft)
セル[A30]は空白になりますが、数式をセル[A33]までコピーすると、以下のようにエラー[#NALUE!]が表示されてしまいます。
上のセルが空白だからですね。
数式を修正します。
IFEEROR関数を使って修正
以下は、[IFERROR]関数を使って、エラーであれば空白にするという意味です。
=IFERROR(IF(MONTH(A30)=MONTH(A30+1),A30+1,""),"")
IFERROR関数は、Excel2007以降で使用できる関数です。
-
VLOOKUP関数のエラー回避はIFERROR関数で
Excelでデータを参照する場合、VLOOKUP関数を使いますが、参照するデータがないとエラーが表示されてしまいます。 検索値が空欄の場合も ...
IF関数をネストして修正
または、以下のようにします。
セル[A30]が空白ならば空白にして、そうでなければ数式を実行するという意味です。
=IF(A30="","",IF(MONTH(A30)=MONTH(A30+1),A30+1,""))
セル[A31]の数式を修正して、セル[A33]までコピーします。
翌月の日付は非表示になりました。
印刷範囲の設定
プリントアウトするときのことを考えて、印刷範囲の設定をしておきます。
印刷したい範囲を選択します。
ここでは、セル[A1]からセル[C33]までを範囲選択して、[ページレイアウト]タブの[ページ設定]グループにある[印刷範囲]から[印刷範囲の設定]をクリックします。
印刷プレビューで確認します。クイックアクセスツールバーの[印刷プレビューと印刷]をクリックします。
または、ショートカットキー[Ctrl]+[P]を使用します。
Backstageビューの[印刷]が表示されます。
もし、用紙の中央に印刷したければ、[設定]の下にある[ページ設定]をクリックして、
[ページ設定]ダイアログボックスの[余白]タブで[ページ中央]の[水平]と[垂直]のチェックボックスをオンにして[OK]ボタンをクリックします。
ページの中央に配置されます。
後は、任意で諸々の変更や修正をしてください。
行の高さを大きくしたり列を追加したりすると、1ページに収まらず、はみ出してしまうこともあると思います。以下の記事を参考に調整してみてください。
-
1ページに収めて印刷するには[縮小印刷]機能で[1ページ]を指定
ExcelでA4用紙の縦一枚に印刷したいけど、少しだけページからはみ出してしまう場合の解決方法です。 余白の調整で1ページに収めることもでき ...
-
印刷時の余白の調整はBackstageビューの[印刷]から
Excel2010での余白の調整方法です。 A4用紙の縦一枚に収めるつもりだったけど、少しだけページからはみ出してしまう。どうにか1ページに ...
参考以下の記事も合わせて読んでいただくと、さらに便利な予定表を作成できるかもしれません。
-
ドロップダウンリストから選択して自動的にセルに塗りつぶしを設定
Excelで表を作成してセルに入力する文字列が決まっている場合は、データの入力規則を使ってドロップダウンリストから選択して入力できるようにす ...
-
チェックボックスを使って条件付き書式のオンとオフを切り替える
フォームコントロールのチェックボックスを使って、チェックがオンであれば条件付き書式の書式を設定して、オフにすると解除するような仕組みを作るこ ...
-
リストボックス(コンボボックス)の選択項目でセルの行に色を付ける
フォームコントロールのリストボックス、またはコンボボックスを設置して、リストで選択した項目を含むセルの行に塗りつぶしを設定します。 リストボ ...
また、Excelの日付セルから会議の設定やOutlookの予定表を起動することもできます。
-
日付を右クリックしてOutlookの会議の設定やカレンダー(予定表)を表示
Excelの日付のセルで右クリックしてショートカットメニューから、Outlookの会議や予定表を表示することができます。 Microsoft ...