本記事はエクセルで31日がない月の非表示・削除方法を解説します。
ポイントは、以下の通りです。
・DATE関数とIF関数を組み合わせる
・条件付き書式を使う
それでは確認していきましょう。
エクセルで31日がない月の末尾の不要な日付の非表示方法(月によって変える方法)
年と月を任意に入力すると日付が表示されるシートを作ります。
A1に年、A2に月を入力するセルとします。
まず2025年1月として作ってみましょう。

日付はA5セル以降に表示されるようにします。
A5セルに以下の関数を入力してください。
=DATE($A$1,$A$2,1)

Enterキーを押すと2025/1/1と表示されます。

DATE関数は年月日を引数に指定し、日付データを作成する関数です。
=DATE(年,月,日)
次にA6セルに以下の数式を入力します。
=A5+1
A5の日付+1日という意味になります。

A6セルをA35セルまでオートフィルでコピーします。

1月31日まで表示されるようになりました。
29~31日が月によって存在しない為、存在しない月では表示されないように入力されている数式を変更します。
29日にあたるA33セルを選択して、以下の数式に入力し直します。
=IF(DAY(A32+1)<>29,””,A32+1)

数式は28日+1日の日にちが29でないならば空白にして29ならば28日+1日(29日)と表示するという意味です。
例えば2月29日が存在しない場合、DAY(A32+1)は3月1日となる為、空白となります。
同様に30日にあたるA34セル、31日にあたるA35セルにもそれぞれ以下の数式を入力し直します。
A34セル
=IF(DAY(A32+2)<>30,””,A32+2)
A35セル
=IF(DAY(A32+3)<>31,””,A32+3)
存在しない日がある月を入力して確認します。
A2セルに2を入力して2025年2月の日付一覧を出します。

2025年2月は29~31日が存在しません。
スクロールしてA33~A35セルを確認すると…

ちゃんと非表示になっています。
エクセルで31日がない月の末尾の不要な日付の削除方法
条件付き書式を用いた方法を紹介します。
29日にあたるA33セルを選択して、以下の数式を入力します。
=DATE(A1,A2,29)

ホームタブより条件付き書式をクリックして新しいルールを選択します。

ルールの種類を最下段の「数式を使用して、書式設定するセルを決定」を選択します。

内容に以下の数式を入力してください。
=MONTH(A33)<>A2
数式は、A33セルの月とA2の月が異なる場合に設定した書式にするという意味です。
表示されないようにする設定にします。
書式のボタンをクリックします。

表示形式の分類を「ユーザー定義」にして、種類の欄に「;;;」と入力してOKボタンを押します。
30日、31日にあたるセルA34,A35も同様に数式を入力して、条件付き書式を設定してください。

29日~31日が存在しない2月で非表示になるか確認します。
A2セルに2を入力します。

スクロールしてA33~A35のセルを確認するとちゃんと表示されていません。

まとめ エクセルで31日がない月の非表示や削除(30日も:自動:月末の日付以降を表示しない:末尾の不要な日付を隠す)方法
この記事では、エクセルで31日がない月の非表示または削除する方法を紹介しました。
関数や条件付き書式を用いることによって簡単に不要な日付を非表示にできます。
ぜひ活用してみてください。


コメント