- 公開日:
- 更新日:
ExcelのDAY関数の使い方|1から31までの整数を返す
DAY関数は、日付データから日の数値をもとめる関数です。
この関数は、割り出されたシリアル値をもとに、日付の日情報を出す仕組みを利用しています。シリアル値とは、1900年1月1日を1とし、そこを起点として通算日数と時刻を表していく値のことをいいます。例えば、2017年5月5日は42860と表されます。
この記事では、DAY関数を使って家計の収入・支出の日付データを出したり、保険の契約期間で翌々年の同じ日の前日の日付を計算したり、うるう年の西暦をピックアップしたりする方法をご紹介します。
書式/使用例
シリアル値に対応する日を1から31までの整数で返します。
=DAY(シリアル値)
A1のセル値 | 関数式 | 結果 |
---|---|---|
2017/5/7 | =DAY(A1) | 7 |
42862 | =DAY(A1) | 7 |
2017/5/7 | =DATE(YEAR(A1)+2,MONTH(A1),DAY(A1)-1) | 2019/5/6 |
2017 | =IF(DAY(DATE(A1,2,29)=29,"うるう年","平年") | 平年 |
DAY関数の基本的な使い方

収入と支出(固定費)の内訳です。水色が収入、ピンクが支出に割り振ってあります。これからDAY関数を利用して、日付のデータをもとめていきます。

DAY関数の頭文字をとって、『=D』と入力します。すると頭文字「D」の一覧が出てくるので、【DAY】を選択します。

【DAY】を選択したら、()の中に「2017/4/25」のセル『C3』を入力し、Enterを押します。

すると、「25」の日付データが現れます。そしてアクティブ状態になっているD3のセルの右下にカーソルをあわせると十字キーに変化するので、そのまま下へ一気にドラッグします。

日付データの一覧が完成しました。

すると、上のようなダイアログボックスが表示されるので、【選択範囲を拡張する】を選択し、最後に【並べ替え】を押します。

日付の浅い順に並べ替えられました。これで、給料の振込日や支出の引落日がどの順番でやってくるのか分かるようになりました。
DAY関数と他の関数を組み合わせた使い方
翌々年の同じ日の前日をもとめる方法(DAY×DATE/MONTH/YEAR関数)

これから2年契約の保険が何年何月何日で効力が無くなるのかを算出していきます。効力が無くなるのは、2年後の同じ日の前日として計算します。

C3を選択後、『=DATE(YEAR(B3)+2,』を数式バーに入力します。これは、B3のセルの2年後の年という意味です。
※「DATE」とは、「年」、「月」、「日」の3つの数値から日付データを作成する関数です。※「YEAR」とは、日付データの西暦年から数値を取り出す関数です。

次に、『MONTH(B3),』を入力します。これは、B3のセルの同じ月を意味します。
※「MONTH」とは、日付データの月から数値を取り出す関数です。

そして、『DAY(B3)-1)』を入力します。これは、B3のセルの日付から1日前日を意味します。入力が終わったら、Enterを押します。

C3セルに、B3セルの契約終了年月日が算出されました。上記と同じ要領でB4からB10のデータも一覧にしてまとめます。

契約終了年月日の一覧が表示されました。
セルに指定された年がうるう年かどうかを判定する方法(DAY×AND/DATE/IF/MOD/OR関数)

最近の西暦の一覧です。これから、どの年がうるう年で、どの年が平年なのか判定していきます。

DATE関数の(A3,2,29)という数字は、2011年2月29日の日付データということになります。これにDAY関数で29を取り出して真か偽かを判定します。
※「IF」とは、論理式の結果が条件を満たすときと満たさないときで、処理を振り分ける関数です。

ここでは、このDAY関数とDATE関数で取り出された数字が「=29」になっているかを確かめます。数式バーの数式の入力が終わったら、Enterを押します。

2011年は「平年」と判定されました。アクティブ状態になっているB3のセルの右下にカーソルをあわせると十字キーに変化するので、そのまま下へ一気にドラッグします。

うるう年の判定結果が出ました。このデータからは一見何も問題が無いように思えますが、実はこの数式には欠陥があります。

1900年まで遡りました。
上の赤枠部分に注目すると、1900年にうるう年が表示されています。平年は、4で割り切れない数値の西暦だけではありません。400で割れない100の倍数の年度も平年として扱われます。つまり、1900年はうるう年ではなく、平年ということになります。

ここでEnterを押せば判定結果が出ますが、その前にこの長い数式がどういう構造になっているかを説明していきます。

まず「MOD(A3,400)=0,」に注目します。MOD関数でA3の数値が400で割り切れるか(余りが0になるか)どうかを確認します。
※「MOD」とは、「数値」を「除数」で割った結果の余りをもとめる関数です。

そしてこの2つの数式はOR関数で、いずれかが条件を満たすかどうかを調べており、正の場合は「うるう年」を、偽の場合は「平年」で返すようにします。
※「AND」関数とは、指定された複数の条件が満たされているかどうかを調べる関数です。※「OR」関数とは、指定された条件が1つ以上でも満たされているかどうかを調べる関数です。

B3は平年という判定結果が出ました。上記の手順で、B4からB10の結果も出していきます。

関数を変えたことにより、1900年は平年に修正されました。
他の関数も合わせてチェック!
当サイトでは、ここでご紹介できなかった関数の一覧ページもご用意しております。ぜひ、参考にしてください。