「日付データから日だけ取り出したいのに、手作業で入力している」なんてことはありませんか。件数が多いと時間もかかりますし、ミスも起きやすいですよね。
ExcelのDAY関数を使えば、日付データから日の数値を一発で取り出せます。この記事では基本の書き方から実務パターンまでまとめて紹介します。
この記事は次のような人におすすめ
- 日付データから「日」だけを取り出したい
- その日が月末日かどうかを自動で判定したい
- DAY関数と[[2022-06-03-excel-function-howto-use-year|YEAR関数]]・[[2022-06-06-excel-function-howto-use-month|MONTH関数]]の違いを整理したい
DAY関数とは?
DAY関数(読み方: デイ)は、日付のシリアル値から「日」の部分を整数で返す関数です。英語の「day(日)」がそのまま関数名になっています。
たとえばセルに 2025/4/15 という日付が入っている場合、DAY関数を使うと 15 という数値が返ります。返り値は1から31の範囲の整数です。
Excelの日付は内部的に「シリアル値」という数値で管理されています。1900年1月1日を「1」として、1日ごとに1ずつ増えます。DAY関数はこのシリアル値から日の部分だけを抜き出してくれます。
DAY関数の書き方(構文と引数)
基本構文
=DAY(シリアル値)
引数は1つだけで必須です。
引数の説明
| 引数 | 必須/省略可 | 内容 |
|---|---|---|
| シリアル値 | 必須 | 日を取り出す元になる日付を指定する。セル参照・日付文字列・DATE関数などが使える |
NOTE
引数にはセル参照(
A1)のほか、日付の文字列("2025/4/15")や[[2022-05-28-excel-function-howto-use-date|DATE関数]]の戻り値も指定できます。ただし文字列を直接渡す場合は"2025/4/15"のようにダブルクォーテーションで囲んでください。
DAY関数の基本的な使い方
セル参照で日付を指定する
もっとも基本的な使い方です。A1に 2025/4/15 が入っているとします。
=DAY(A1)
結果: 15
日付の「日」の部分だけが整数で返ります。
日付文字列を直接指定する
引数に日付の文字列を直接入力することもできます。
=DAY("2025/4/15")
結果: 15
Excelが文字列を自動でシリアル値に変換してから日を取り出します。
DATE関数と組み合わせる
[[2022-05-28-excel-function-howto-use-date|DATE関数]]が返すシリアル値をそのまま渡せます。
=DAY(DATE(2025,4,15))
結果: 15
DATE関数で作った日付の日を確認したいときに使うパターンです。
TODAY関数と組み合わせる
[[2022-06-18-excel-function-howto-use-today|TODAY関数]]と組み合わせると、今日の日にちを自動取得できます。
=DAY(TODAY())
結果: 17(2026年3月17日の場合)
ファイルを開くたびに自動で更新されるので、日次の処理や残日数の計算で重宝しますよ。
DAY関数の実務活用パターン
パターン1: 月末日かどうかを判定する
「その日が月末日かどうか」を自動で判定したい場面はけっこう多いですよね。DAY関数と[[2022-05-20-excel-function-howto-use-eomonth|EOMONTH関数]]を組み合わせれば実現できます。
A1に日付が入っているとします。
=IF(DAY(A1)=DAY(EOMONTH(A1,0)), "月末日", "")
結果の例:
2025/3/31→ 月末日2025/4/30→ 月末日2025/4/15→ (空白)
EOMONTH関数で当月末の日付を取得し、DAY関数で日の部分を比較しています。月ごとに末日が異なる(28日・30日・31日)問題を気にせず判定できるのがポイントです。
パターン2: 締め日(15日・20日・末日)で区分する
請求書の締め日で期間を振り分けるケースです。A1に日付が入っているとします。
=IF(DAY(A1)<=15, "前半", IF(DAY(A1)<=20, "中盤", "後半"))
結果の例:
2025/4/10→ 前半(15日締めの対象)2025/4/18→ 中盤(20日締めの対象)2025/4/25→ 後半(末日締めの対象)
[[2022-01-16-excel-function-howto-use-if|IF関数]]をネストして、日の数値で区分を振り分けています。会社の締め日に合わせて数値を変えれば応用できますよ。
パターン3: 当月の残日数を計算する
「今月あと何日あるか」を自動計算する方法です。A1に日付が入っているとします。
=DAY(EOMONTH(A1,0))-DAY(A1)
結果の例:
2025/4/15→ 15(4月は30日まで)2025/3/20→ 11(3月は31日まで)
EOMONTH関数で当月末日の「日」を取得し、現在の「日」を引くだけです。進捗管理や納期計算で使えるパターンですよ。
パターン4: 日付の「日」だけを別の日に置き換える
日付データの日だけを変更したいケースです。A1に 2025/4/15 が入っているとします。日だけを1日に変更するには[[2022-05-28-excel-function-howto-use-date|DATE関数]]と組み合わせます。
=DATE(YEAR(A1), MONTH(A1), 1)
結果: 2025/4/1
[[2022-06-03-excel-function-howto-use-year|YEAR関数]]と[[2022-06-06-excel-function-howto-use-month|MONTH関数]]で年・月を保持しつつ、日だけを差し替えています。月初の日付を作りたいときに便利なテクニックです。
パターン5: 特定の日(給料日・締め日)を過ぎたかチェックする
毎月25日の給料日を過ぎたかどうかを判定する例です。A1に日付が入っているとします。
=IF(DAY(A1)>=25, "支給済み", "支給前")
結果の例:
2025/4/25→ 支給済み2025/4/20→ 支給前
DAY関数で取り出した日の数値を基準値と比較するだけです。[[2022-01-16-excel-function-howto-use-if|IF関数]]と組み合わせて、業務ステータスを自動で切り替えられます。
よくあるエラーと対処法
| 症状 | 原因 | 対処法 | |
|---|---|---|---|
#VALUE! エラー | 引数が日付として認識できない文字列 | セルの値が正しい日付形式か確認する。"2025年4月" のように日がない文字列はNG | |
#VALUE! エラー | 日付が文字列として入力されている | [[2022-07-15-excel-function-howto-use-datevalue | DATEVALUE関数]]でシリアル値に変換してから渡す |
#NUM! エラー | シリアル値が負の数 | Excelの日付は1900/1/1以降が有効。それより前の日付は扱えない | |
| 想定と違う日が返る | セルの表示形式が「文字列」 | セルの表示形式を「標準」や「日付」に変更してから日付を再入力する | |
| 想定と違う日が返る | 日付が文字列として保存されている | セルが左寄せになっていたら文字列。[[2022-07-15-excel-function-howto-use-datevalue | DATEVALUE関数]]で変換する |
NOTE
日付に見えるのに
#VALUE!が出る場合は、セルの値が「文字列」になっている可能性があります。セルを選択して数式バーを確認し、左寄せになっていたら文字列です。[[2022-07-15-excel-function-howto-use-datevalue|DATEVALUE関数]]で変換するか、表示形式を変更して再入力してみてください。
似た関数との違い・使い分け
DAY関数と同じ「日付から一部を取り出す」関数を比較します。
| 関数 | 取り出す要素 | 使い方の例 | 結果 | |
|---|---|---|---|---|
| **[[2022-06-03-excel-function-howto-use-year | YEAR関数]]** | 年 | =YEAR("2025/4/15") | 2025 |
| **[[2022-06-06-excel-function-howto-use-month | MONTH関数]]** | 月 | =MONTH("2025/4/15") | 4 |
| DAY | 日 | =DAY("2025/4/15") | 15 | |
| **[[2022-11-15-excel-function-howto-use-text | TEXT関数]]** | 書式指定で文字列化 | =TEXT("2025/4/15","d") | “15”(文字列) |
| **[[2022-09-29-excel-function-howto-use-weekday | WEEKDAY関数]]** | 曜日番号 | =WEEKDAY("2025/4/15") | 3(火曜日) |
使い分けのポイント
- 「年の数値が欲しい」→ [[2022-06-03-excel-function-howto-use-year|YEAR関数]]
- 「月の数値が欲しい」→ [[2022-06-06-excel-function-howto-use-month|MONTH関数]]
- 「日の数値が欲しい」→ DAY関数(計算に使える整数が返る)
- 「”15日”のような文字列が欲しい」→ [[2022-11-15-excel-function-howto-use-text|TEXT関数]]
- 「年・月・日をバラバラに指定して日付を作りたい」→ [[2022-05-28-excel-function-howto-use-date|DATE関数]]
DAY関数が返すのは数値です。セルに「15日」と表示したい場合は[[2022-11-15-excel-function-howto-use-text|TEXT関数]]を使ってください。セルの表示形式を d"日" に変更する方法もあります。
[[2022-06-03-excel-function-howto-use-year|YEAR関数]]・[[2022-06-06-excel-function-howto-use-month|MONTH関数]]・DAYの3関数はセットで覚えておくと便利です。日付データの分解・再構成が自在にできるようになりますよ。
まとめ
DAY関数は、日付データから日の数値を取り出す関数です。
- 構文:
=DAY(シリアル値)— 引数は1つだけ - 戻り値: 1〜31の整数(日の数値)
- よく使う組み合わせ: [[2022-06-18-excel-function-howto-use-today|TODAY関数]]で今日の日にちを取得、[[2022-05-20-excel-function-howto-use-eomonth|EOMONTH関数]]で月末日を判定、[[2022-01-16-excel-function-howto-use-if|IF関数]]で締め日の振り分け
- 実務活用: 月末日の判定、締め日の区分、残日数の計算、日の置き換え、特定日チェック
- 関連関数: [[2022-06-03-excel-function-howto-use-year|YEAR関数]]・[[2022-06-06-excel-function-howto-use-month|MONTH関数]]・[[2022-05-28-excel-function-howto-use-date|DATE関数]]・[[2022-11-15-excel-function-howto-use-text|TEXT関数]]と目的に応じて使い分ける
日付データから日を取り出す場面は、締め日管理や進捗管理でとても多いです。[[2022-06-03-excel-function-howto-use-year|YEAR関数]]・[[2022-06-06-excel-function-howto-use-month|MONTH関数]]とあわせて使いこなしてみてください。
関連記事
- [[2022-06-03-excel-function-howto-use-year|YEAR関数の使い方]]
- [[2022-06-06-excel-function-howto-use-month|MONTH関数の使い方]]
- [[2022-05-28-excel-function-howto-use-date|DATE関数の使い方]]
- [[2022-06-18-excel-function-howto-use-today|TODAY関数の使い方]]
- [[2022-05-20-excel-function-howto-use-eomonth|EOMONTH関数の使い方]]
- [[2022-06-26-excel-function-howto-use-edate|EDATE関数の使い方]]
- [[2022-07-12-excel-function-howto-use-datedif|DATEDIF関数の使い方]]
- [[2022-07-15-excel-function-howto-use-datevalue|DATEVALUE関数の使い方]]
- [[2022-11-15-excel-function-howto-use-text|TEXT関数の使い方]]
- [[2022-09-29-excel-function-howto-use-weekday|WEEKDAY関数の使い方]]
- [[2022-01-16-excel-function-howto-use-if|IF関数の使い方]]
- [[2022-02-24-excel-function-howto-use-sumifs|SUMIFS関数の使い方]]
- [[2022-04-27-excel-function-howto-use-countifs|COUNTIFS関数の使い方]]
- [[2022-03-27-excel-function-howto-use-ceiling|CEILING関数の使い方]]
- 機能別のエクセル関数一覧
- アルファベット順のエクセル関数一覧
- エラー値一覧
