よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)実用編:目次|月間予定表の作成例
- Excel(エクセル)で1ヶ月分の予定表を作成します。
使用する関数と機能
- 使用する関数:IF DAY (EOMONTH) WEEKDAY MATCH
- 使用する機能:日付の表示形式(ユーザー設定) 罫線 名前の定義 条件付き書式
- サンプルはこちらからダウンロードできます。(gkyo01.xls 約20KB)
- B2セルに日付を入力するだけで、月間の予定表を作成してみましょう。
- 下図は、B2セルに『2005/5/1』と入力すると、日にちと曜日を自動で表示し、土曜日と日曜日および祝日のセルには色を付けます。
作成例1
- 項目を入力します。
- B2セル :2005/5/1
- B3セル : 日
- C3セル : 予定
- 数式を力します。
- B4セル:=IF(B2="","",B2)
- B5セル:=IF(B4="","",IF(DAY(B4+1)=1,"",B4+1))
- (別解)B5セル
=IF(B4="","",IF(DAY(B4+1)<DAY(B4),"",B4+1))
=IF(B4>=EOMONTH($B$2,0),"",B4+1)
- (注) EOMONTH関数が使用できず、エラー値 #NAME? が返される場合は、[ツール]→[アドイン]で「分析ツール」のチェックを入れると使用できます。
- B5セルをオートフィルでB34までコピーします。
セル範囲B4:B34はシリアル値の表示になっています。次の項で表示形式を変更します。
作成例2
- B2セルに年、C2セルに月を入力して作成する例です。
- 項目を入力します。
- B2セル :2005
- C2セル : 5
- B3セル : 日
- C3セル : 予定
- 数式を入力します
- B4セルに:=DATE($B$2,$C$2,ROW(A1))
ポイントは日付の1〜31をROW関数で生成していることです。
また、小の月や2月など31日などの無い日の処理が必要ですので、月がC2セルと同じか否かをチェックします。
=IF(MONTH(DATE($B$2,$C$2,ROW(A1)))=$C$2,DATE($B$2,$C$2,ROW(A1)),"")
- B4セルをオートフィルでB34までコピーします。
セル範囲B4:B34は日付の表示形式になっていますので、次の項で表示形式を変更します。
- B2:C2セルは表示形式を「#"年"」「#"月"」とします。
- 以下のように「2005年」 「5月」と表示されます。
- 祝日にも色を付けたいと思いますので、祝日の一覧表を作成します。
- 2005年5月の例です。
- F2セルに「祝日」、F3セルに「2005/5/3」、F4セルに「2005/5/4」、F5セルに「2005/5/5」と祝日の日付を入力します。
実際には使用する年度の祝日を全て入力しておきます。
- F3:F5のセル範囲に「祝日」と名前を定義します。
- F3:F5を選択し、名前ボックスに「祝日」と入力します。
または
F2:F5を選択して、挿入→名前→作成 から「上端行」にチェックを入れて【OK】としても良い。
|
F |
G |
| 2 |
祝日 |
祝日名 |
| 3 |
2005/5/3 |
憲法記念日 |
| 4 |
2005/5/4 |
国民の休日 |
| 5 |
2005/5/5 |
こどもの日 |
↑「祝日」と名前を定義する
- B列には日付データが入りますが、表示形式で「年月」「日」の表示にします。
- B2セルを選択し、表示形式を『ggge"年"m"月"』とします。
- B4〜B34セルを選択し、表示形式を『d"日"(aaaa)』とします。
- メニューバーの【書式】→【セル】を選択し、【セルの書式設定】ダイアログの【表示形式】タブを選択します。
『分類』で『ユーザー定義』を選択し、『種類』に『d"日"(aaaa)』と入力します。
- B3:C34セルを選択し、罫線ボタンの「格子」をクリックします。
- 以上の操作で、この様になります。
- 土日および祝日のセルに色(パターン)を付けてわかりやすくします。
- B4:C34セルを選択し、【書式】→【条件付き書式】を選択します。
条件1〜条件3を下図のように設定します。
- まず、条件1に『数式が』 『=WEEKDAY($B4)=7』]と入力します。
『$B4』と列だけ絶対参照にするのは、C列にも適用するためです。
- 【書式】ボタンをクリックすると、【セルの書式設定】ダイアログが表示されます。
- 【パターン】タブを選択し、『色』を選択します。
- 【OK】ボタンをクリックして書式設定が完了です。
- 【条件付き書式設定】ダイアログの【OK】ボタンをクリックすると、条件1の設定完了です。
- 次いで、【追加】ボタンをクリックして、条件2,条件3も同様に設定します。
- 以上の操作で2005年5月分の予定表ができました。
なお、1年分の祝日を作成しておけば、B2セルの日付を変更するだけ日付が変わります。
※ B2セルへは「2005/7/1」のように年月日を日付形式で入力します。(シリアル値を入力します)
- C列に祝日名を表示するようにしたいと思います。
- F3:F18 に『祝日』、G3:G18に『祝日名』 と名前を定義します。
- C4セルに『=IF(ISERROR(MATCH(B4,祝日,0)),"",INDEX(祝日名,MATCH(B4,祝日,0)))』と入力し、
- C34までコピーします。(フィルハンドルをダブルクリックしてもOK)
- サンプルはこちらからダウンロードできます。(gkyo01.xls 約20KB)

- 締め日が1日ではない場合のカレンダー作成をしてみます。
- 条件付き書式などは同じような方法で良いので数式のみを書きます。
- 【設定例】
- B2セルは表示する最初の月を「2006/10/1」のように入力し、表示形式を『ggge"年"m"月"』とします。
- B4セルは=DATE(YEAR(B2),MONTH(B2),21)
- B5セルは=IF(B4="","",IF(B4+1>DATE(YEAR($B$2),MONTH($B$2)+1,20),"",B4+1))とします。
下方向へB34までフィルハンドルをドラッグしてコピーします。
- [注:下図は19〜29行を非表示にしています]

- WORKDAY関数を使います。
この関数が使用できず、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。
- ツール→アドインで「分析ツール」にチェックを入れます。
なお、Excelのセットアップ方法によっては、OfficeやExcelのCD-ROMが必要になることもあります。
- 【設定例】
- B2セルは表示する最初の月を「2006/10/1」のように入力し、表示形式を『ggge"年"m"月"』とします。
- B4セルは=IF($B$2="","",WORKDAY($B$2-1,1))とします。
- B5セルは=IF(B4="","",IF(MONTH($B$2)<>MONTH(WORKDAY(B4,1)),"",WORKDAY(B4,1)))とします。
下方向へB30までフィルハンドルをドラッグしてコピーします。
- B4セル以降の表示形式は『d"日"(aaaa)』としています。
- [注:下図は11〜22行を非表示にしています]
よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)実用編:目次|月間予定表の作成例
PageViewCounter

Since2006/2/27