DAY関数の使い方|日付から日を取り出す・月の日数・月初の日付

DAY関数の使い方|日付から日を取り出す

エクセルで、日付から「日」だけを取り出すには DAY関数を使います。たとえば 2026/10/21 は、=DAY(A3) で 21 になります。

「年」は YEAR関数、「月」は MONTH関数で取り出せます。この記事では、DAY関数の基本、YEAR・MONTH関数との使い分け、その月の日数(月末の日)の出し方、日を2桁で表示する方法、月初の日付、前半・後半の判定、文字の日付の扱いまでを、1つの表で説明します。下の練習ツールで、日付を書き換えて結果の変わり方を試せます。

目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

DAY関数の書き方

DAY関数の構文
数式=DAY(シリアル値)
ひとことで日付から日を取り出す
シリアル値
日付です

シリアル値には日付のセルを指定します。結果は 1〜31 の数値です。

DAY関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
「日」を取り出す=DAY(A3)21
「月」を取り出す=MONTH(A4)10
「年」を取り出す=YEAR(A5)2026
その月の日数=DAY(EOMONTH(A6,0))28
日を2桁で表示=TEXT(A7,”dd”)05
その月の1日=A8-DAY(A8)+12026/10/1
前半・後半の判定=IF(DAY(A9)<=15,”前半”,”後半”)前半
エクセルのDAY関数で日付から日を取り出した表
エクセルのDAY関数で日付から日を取り出した表

日付から「日」を取り出す

1
結果を出したいセル(C3)を選びます。
2
「=DAY(」と入力し、日付のセル(A3)をクリックします。
3
「)」と入力して Enter キーを押します。
DAY関数の式
数式=DAY(A3)
ひとことで日付から日を取り出す
A3
日付です

結果は 21 です。結果のセルが日付の表示形式になって「1900/1/21」のように表示されたときは、表示形式を「標準」に戻します。

「年」「月」を取り出す(YEAR・MONTH)

MONTH関数の式
数式=MONTH(A4)
ひとことで日付から月を取り出す
A4
日付です

「月」は 10、=YEAR(A5) で「年」は 2026 です(YEAR関数の使い方、MONTH関数の使い方)。

その月の日数(月末の日)を出す

EOMONTH関数で月末の日付を求め、その「日」を取り出します。

DAY関数の式
数式=DAY(EOMONTH(A6,0))
ひとことで日付から日を取り出す
EOMONTH(A6,0)
日付です

2026年2月はうるう年ではないので、結果は 28 です。日割り計算などで使えます。

日を2桁で表示する

DAY関数の結果は数値なので、5日は「5」です。「05」と2桁にしたいときは TEXT関数を使います。

TEXT関数の式
数式=TEXT(A7,"dd")
ひとことで表示形式を指定して文字にする
A7
数値や日付です
"dd"
表示形式です

結果は 05(文字列)です(TEXT関数の使い方)。

その月の1日(月初)の日付を出す

日付から「日−1」日を引くと、その月の1日になります。

=A8-DAY(A8)+1

2026/10/21 から20日戻って 2026/10/1 です。結果のセルの表示形式は日付にします。DATE関数で =DATE(YEAR(A8),MONTH(A8),1) と書いても同じです(DATE関数の使い方)。

15日までか(前半・後半)を判定する

IF関数の構文
数式=IF(DAY(A9)<=15,"前半","後半")
ひとことで条件で結果を切り替える
DAY(A9)<=15
条件です
"前半"
真の場合です
"後半"
偽の場合です

10日なので、結果は 前半 です。締め日で集計を分けるときに使えます。

文字の日付でも取り出せる

DAY関数の式
数式=DAY(A10)
ひとことで日付から日を取り出す
A10
日付です

A10 の「2026/12/24」は文字として入っていますが、日付として読めるので結果は 24 です。日付として読めない文字は #VALUE! エラーになります。

DAY関数がうまくいかないときの確認表

症状考えられる原因対処
「1900/1/21」と表示される結果のセルが日付の表示形式表示形式を「標準」にする。
「#VALUE!」になる日付として読めない文字が入っている日付として入力し直す。DATEVALUE関数で変換する。
空欄なのに 0 になる空欄は 0(1900/1/0)として計算されるIF(A3=””,””,DAY(A3)) のように空欄を除く。
日付の差(日数)がほしいDAY関数は「日」を取り出すだけ日付どうしを引き算する。

DAY関数のよくある質問

曜日を取り出すには?

WEEKDAY関数か TEXT関数を使います(WEEKDAY関数の使い方)。

2つの日付の間の日数は?

新しい日付から古い日付を引き算します。結果のセルの表示形式は「標準」にします。

あわせて読みたい:日付の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次