Excelでカレンダーを作ったとき、翌月分を非表示にしたい!

2020-02-21

Excelで予定表を作成している方は多いと思います。特に対策をしないと、毎月毎月作成するときに、いらない「翌月の日付」まで表示されてしまいますよね?この記事では、その「翌月分を表示させない方法」を解説しています。しばらくお付き合いくださいませm(_ _ )m

スポンサーリンク

月日数はバラバラなのです。

さて、

今月って、何日まであるっけ??

って聞かれたことありませんか??
意外と知られていない覚え方をお教えします。
手の指を使って覚えるんですよ。

yubi

山が31日

谷間が31日以外

と覚えます。

7,8と連続して山になるのがポイントですね。
この知識をご存知なかったら、レベルアップしましたね~
知らない人がいたら、教えてあげましょう♪

Excelでカレンダーを作る時の「ベタ」な方法

Excelでカレンダーを作る際の「ベタ」な方法をご紹介します。

【A1】に月初の日付を入力し、

【A2】以降は計算式を入れる方法です。

※列【B】の赤文字が、列【A】に入力されている数式です。

3_1

【A1】に月初の日付を入れるだけで、あとの日付は数式で自動表示~^^

簡単ですね♪

でも、こんなことに困ったりします。

3_2

あっ!!2月なのに3月1日以降が表示されている~(>_<)

こんな時、ありますよね??
そこで、関数を用いて、翌月分を非表示にします。

月が変わる条件を考える

今回の目的は、

カレンダー上で月が変わったら、その日付は表示させない

ということです。
どの月でも共通して存在する日数は「 28日 」です。
それ以降は、あったりなかったりです。

月が変わったら

という条件があるわけですから、

「 月 」を抽出する必要があります。

を抽出する関数「 MONTH 」を利用します。

3_3

28行目と29行目が境目ということがわかります。
29行目に日付を表示させるかさせないかの条件は、

28行目が29行目と同じ ⇒ 同じ月なので表示

28行目と29行目と同じじゃない ⇒ 翌月のため非表示 

となります。
これをIF関数で作成します。

=IF(MONTH(A28)=MONTH(A28+1),A28+1,"")

上記計算式の場合 【A28】⇒ 2/28 【A28】+1 ⇒ 3/1 となります。
【A29】に入力し、【A31】までコピーします。

これで翌月分が表示されなくなりました!!

3_5

あれ??

【A30】と【A31】がおかしい…

「#VALUE」と表示されてしまう理由は?

【A30】と【A31】がなぜ「 #VALUE 」と表示されてしまうのか。
そもそも「 #VALUE 」とは何か。

計算できないデータなどが含まれていた場合のエラー

の際に表示されるエラーメッセージです。

【A29】の計算結果は「 (空白)」です。
空白は文字のために、計算することができません!
そのために、【A30】と【A31】に「 #VALUE 」と表示されたのです。

それでは、回避策を考えましょう!!

Excelで必須な「エラー回避処理」の方法

今回作成した、

=IF(MONTH(A28)=MONTH(A28+1),A28+1,"")

という数式に問題はありません。
しかし、空白に対しては計算が出来ずにエラーが表示されてしまう…
それならば、

空白であれば、計算せずに、空白を表示させる!

とExcelに教えてあげればいいのです。
「あれば」という言葉が出ているということは「条件」です。
なので、ここでも「IF関数」を用います。

=IF(A28="","",[偽の場合])

A28が空白だったら、空白を表示のIF関数が完成です。
これは、非常に多く利用されるエラー回避方法です。
是非とも覚えておきましょう♪

もちろん「IFERROR関数」で回避しても問題ありませんよ。

エラー回避後の計算式

続きですが、空白でなければ、計算が出来るわけですから、[偽の場合]に部分には、
先ほどの関数をそのまま入力し、

=IF(A28="","",IF(MONTH(A28)=MONTH(A28+1),A28+1,""))

となります。

それでは、【A29】~【A31】まで、コピーしましょう。

3_6

これで完成です!!

このようにして、どの月を入力しても、その月だけが表示されるようになりました。
関数を駆使する場合、必要なのは、

目的のために、何を用意するべきなのか

ということです。
最初は、なかなか理解できませんが、数をこなして理解していきましょう♪
疑問点・ご不明点などがあれば、お気軽にお問い合わせくださいませ。


2016/03/18 【続】Excelでカレンダーを作ったとき、翌月分を非表示にしたい! の記事を追加しました。別のアプローチからの数式を記載しています。こちらもご覧ください。