Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » スケジュール表で翌月の日付を表示しない−DAY関数・IF関数

スケジュール表で翌月の日付を表示しない−DAY関数・IF関数

対象:Excel97,Excel2000,Excel2002,Excel2003

Excelでスケジュール表を作成する際に必要な、年・月が入力されたら日付部分が更新されるようなシートの作成方法をご紹介しました。

但しこの方法では、2・4・6・9・11月のときに翌月の日付が表示されてしまいますので、そうならないようにする方法を考える必要があります。

月末の日付は、28日・29日・30日・31日の4パターンがありますので、これをどう判断するかがポイントです。

[スポンサードリンク]

いくつかの方法が考えられますが、以下のような方法が一番シンプルかな、と考えています。

▼操作手順:スケジュール表の日付欄を作成する
(A1セルに「年」、A2セルに「月」を入力すると、A5:A35の「日付」欄が自動更新され、A33:A35セルに翌月の日付が表示されないようにする例)

A5セルに「=DATE(A1,A2,1)」という計算式を入力
 ↓
A6セルに「=A5+1」という計算式を入力
 ↓
A6セルをA32セルまでオートフィル
 ↓
A33セルに
「=IF(DAY(A32+1)<>29,"",A32+1)」
A34セルに
「=IF(DAY(A32+2)<>30,"",A32+2)」
A35セルに
「=IF(DAY(A32+3)<>31,"",A32+3)」
という計算式を入力

月末の日付は、28日・29日・30日・31日の4パターンがありますが、28日は何月であっても存在しますから常に表示させて問題ありません。

29日・30日・31日が、年・月によって存在したり存在しなかったりするためIF関数を使って表示を切り替えています。

切り替えを行うために、28日の翌日・翌々日・翌々々日の日にちを調べる方法を使っています。

28日の翌日=1日後の日付(DAY(A32+1))が、「29」ではない日(具体的な可能性としては翌月の「1」日)ならば空白("")に、「29」ならばA32+1にしています。

28日の翌々日=2日後の日付(DAY(A32+2))が、「30」ではない日(可能性としては、翌月の「1」日か「2」日)ならば空白、「30」ならばA32+2にします。

28日の3日後についても同様です。

▼サンプルファイル(001617.xls 19KByte)ダウンロード

サンプルファイルはA33:A35セルの入力を少しでも楽にするため、A33に入力した数式をA35セルまでオートフィルして修正したため、A32セルへの参照が絶対参照となっています。

また、
A5:B35セルに
土日のセル色を変更する条件付き書式
休日のセル色を変更する条件付き書式
A5:A13セルに
9日以前と10日以降で「月」の文字が揃うようにユーザー定義書式
設定しています。

関連語句
日付関数で翌月の日付表示しない, 翌月の日付が表示されないように, 次の月の日付を表示しない

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » スケジュール表で翌月の日付を表示しない−DAY関数・IF関数

「日付の処理・計算」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.