ブログ

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

新年度が始まろうとしているこの時期なのか「Excelでカレンダーを作ったとき、翌月分を非表示にしたい!」に対してアクセスが集っています。これに対しては様々な方法がありますので、もう1つご紹介いたします。

前回のおさらい

前提条件などの詳細については「Excelでカレンダーを作ったとき、翌月分を非表示にしたい!」を見ていただければと思います。
さて、前回は

3_6

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

という数式で翌月分を非表示にしない方法としました。
一つ上のセルと比較して「月が変わっていたら、日付を表示しない」というアプローチでした。
今回は「『日』が29,30,31でなければ表示しない」というアプローチの数式をご紹介します。

スポンサーリンク

日付を抽出する「DAY」関数

日付形式から「日」を抽出する関数があります。それが「DAY関数」です。

image16031801

上記【C28】~【C31】のように指定したセルの「日」を抽出してくれます。

スポンサーリンク

日付を表示させる条件を考える

今回は「『日』が29,30,31でなければ表示しない」という条件ですが、言い方を変えれば、

そのセルの日付が「29日」「30日」「31日」であれば表示させる

というものとなります。となると、【A28】へ入力する数式は、

=IF(DAY(A28+1)=29,A28+1,””)

となります。
そして、そのまま【A30】【A31】へとコピーすれば…と言いたいところですが、数式が以下になるように修正してください。

【A30】 ⇒ =IF(DAY(A28+2)=30,A28+2,””)

【A31】 ⇒ =IF(DAY(A28+3)=31,A28+3,””)

image16031802

ここで、

【A30】 ⇒ =IF(DAY(A29+1)=30,A29+1,””)
【A31】 ⇒ =IF(DAY(A30+1)=30,A30+1,””)

ではダメなの??と思ったアナタは、一度試してみてください。
私が上記の数式にした意味がわかるかと思います。

 

アプローチは一つではない

2回に渡って「Excelでカレンダーを作ったとき、翌月分を非表示にしたい!」をお送りしました。
同じ出発駅から同じ到着駅までのルートが一つでないように、ゴールまでのアプローチは様々あります。もちろん「最短距離」は存在します。それを「正解」とするか「不正解」とするかは、その時と場合によると思います。
可能性を一つ一つ列挙し、その可能性を具現化し、無駄がないかを検証する。それによって「効率の良い数式」が見つかります。私は本気でExcelを使いこなしたい!と思っている方に、いつもこういいます。

いい意味でめんどくさがりでいてください

と。「必要は発明の母」と言われるように、「面倒くさい」という気持ちがあれば、それを「楽(らく)」にする方法を模索することが出来るからです。
Excelを使いこなすことが出来れば、私の体感で20%程度は無駄な時間を省ける気がします。

新年度が始まるこの時期、アナタも本気でExcelを学んでみてはいかがでしょうか…
それでは、またの機会に♪

スポンサーリンク

 

 

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

ページ上部へ戻る
ライブでゴーゴー