• 作成日 : 2025年8月25日

ExcelのDAY関数の使い方!日付から「日」だけを取り出す方法と活用術

Excelで日付データを扱っているとき、「日付の中から『日』だけを取り出したい」と感じたことはありませんか?例えば、誕生日の日付データから「生まれた日」だけを抽出したい場合や、特定の日付のデータを基に集計を行いたい場合などに便利です。

このような場合に役立つのが、ExcelのDAY関数です。DAY関数は、日付データから「日」の部分だけを簡単に抽出できる非常に便利な関数です。この記事では、DAY関数の基本的な使い方から、具体的な利用シーン、さらに応用例、そしてよくあるエラーとその対策まで、初心者の方にも分かりやすく解説します。

DAY関数とは?

DAY関数は、日付シリアル値から「日」を表す整数(1から31)を返す関数です。

書式

=DAY(シリアル値)

シリアル値:

日付を表す数値、または日付が入力されたセルを指定します。Excelでは、日付は1900年1月1日を「1」として、そこからの経過日数で管理されています。これを「シリアル値」と呼びます。

DAY関数の使い方

具体的な使い方を見ていきましょう。

例えば、セルA1に「2025/6/25」と入力されているとします。この日付から「日」だけを取り出すには、次のようにDAY関数を使用します。

=DAY(A1)

この数式を入力すると、「25」という結果が返されます。

直接日付を数式に入力することも可能です。その場合は、日付をダブルクォーテーション(”)で囲む必要があります。

=DAY(“2025/6/25”)

この場合も、「25」という結果が返されます。

DAY関数の利用シーン

DAY関数は、単独で使うだけでなく、他の関数と組み合わせることで様々な場面で活用できます。

1. 特定の日のデータを抽出・集計する

例えば、売上データに日付列があり、毎月「5日」の売上だけを集計したい場合などに活用できます。

日付売上高
2025/1/510,000
2025/1/1015,000
2025/2/512,000
2025/2/158,000

上記のようなデータがあった場合、DAY関数とIF関数、またはSUMPRODUCT関数などを組み合わせて5日の売上だけを抽出・集計できます。

:SUMPRODUCT関数と組み合わせる場合

=SUMPRODUCT((DAY(A2:A5)=5)*(B2:B5))

この数式は、A2からA5の範囲の日付から「日」が「5」である行の売上高(B列)を合計します。

2. 生年月日データから生まれた日だけを抽出する

顧客の生年月日データから「日」だけを抽出し、誕生日が近い顧客を特定したり、日ごとの傾向を分析したりするのに役立ちます。

氏名生年月日
田中1990/3/15
佐藤1985/7/20
鈴木1992/10/5

B列の生年月日データから生まれた日だけをC列に表示したい場合、C2セルに以下の数式を入力し、下方向にオートフィルします。

=DAY(B2)

氏名生年月日生まれた日
田中1990/3/1515
佐藤1985/7/2020
鈴木1992/10/55

3. スケジュール管理やタスクの割り当て

特定の日に繰り返し発生するタスクの管理に利用できます。例えば、「毎月10日に請求書を発行する」といったタスクがある場合、日付から「日」を抽出し、それが10日かどうかで判断するのに使えます。

DAY関数の応用

DAY関数は、他の日付・時刻関数や論理関数と組み合わせることで、さらに高度な処理が可能です。

1. TODAY関数と組み合わせて今日の日を取得する

TODAY関数は、現在の日付を返す関数です。これとDAY関数を組み合わせることで、今日の「日」を簡単に取得できます。

=DAY(TODAY())

例えば今日が2025年6月25日であれば、「25」という結果が返されます。

2. WEEKDAY関数やMONTH関数と組み合わせて詳細な日付分析を行う

DAY関数で「日」を抽出し、さらにWEEKDAY関数(曜日を返す)やMONTH関数(月を返す)と組み合わせることで、より詳細な日付分析が可能です。

WEEKDAY関数とDAY関数の組み合わせ例:

「〇月〇日の曜日を判断し、それが週末(土日)であれば特定の処理を行う」といった場合に使用できます。

=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),”週末です”,”平日です”)

これはA1セルの日付が週末かどうかを判断する例ですが、DAY関数で日を抽出しつつ曜日も考慮するといった複雑な条件設定に役立ちます。

3. TEXT関数で書式設定された日付から日を抽出する

TEXT関数で日付の表示形式を変更している場合でも、DAY関数は正しく「日」を抽出します。

例えば、A1セルに「2025/6/25」と入力されており、B1セルに=TEXT(A1,”yyyy年m月d日”)と入力して「2025年6月25日」と表示されているとします。このB1セルから「日」を抽出する場合でも、

=DAY(A1)

と入力すれば「25」が返されます。直接B1セルを参照するとエラーになる可能性があるので、元のシリアル値が入っているセルを参照するのが確実です。

DAY関数のよくあるエラーと対策

DAY関数を使用する際に遭遇しやすいエラーと、その対策について解説します。

1. #VALUE! エラー

このエラーは、DAY関数に無効な値が指定された場合に発生します。主に以下のケースが考えられます。

日付ではない文字列が入力されている

「今日」や「来週」など、Excelが日付として認識できない文字列が指定されている場合。

対策:DAY関数に渡す値が有効な日付形式であることを確認してください。日付は「2025/6/25」のような形式や、「2025-6-25」のような形式で入力します。

日付として認識されない数値が入力されている

Excelの日付シリアル値の範囲外の数値(例えば負の数)が入力されている場合。

対策:負の数など範囲外の数値が指定された場合は #NUM! エラーになります。

対策:Excel が認識できる日付シリアル値(1900年1月1日以降を表す 正の数。小数部は時刻として許容)または DATE 関数などで作成した有効な日付を指定してください。

空白セルを参照している

完全に空のセル(未入力)を参照すると DAY は 0 を返します。一方、そのセルに数式で空文字(””)が入っている場合は #VALUE! になることがあります。

対策:元データが空文字になっていないか確認し、必要に応じて =IF(A1=””,””,DAY(A1)) のように空を返す条件分岐を入れてください。

2. 表示形式の問題

DAY関数自体がエラーを返すわけではありませんが、DAY関数で抽出した結果が日付形式で表示されてしまうことがあります。

例えば、DAY関数の結果が「1900/1/25」のように表示される場合、それはセルの表示形式が「日付」になっているためです。

対策:DAY関数の結果を表示するセルの書式設定を「標準」または「数値」に変更してください。

  1. 結果が表示されているセルを選択します。
  2. 右クリックして「セルの書式設定」を選択します。
  3. 「表示形式」タブで「標準」または「数値」を選択し、「OK」をクリックします。

※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事