Excelで日付を管理するときは、入力した日付をそのまま表示するだけでなく、今日の日付、月末日、年度、締め日などを関数で自動表示できるようにすると便利です。
毎月の報告書や請求一覧、スケジュール表では、日付を手入力すると更新漏れや年度の判定ミスが起こりやすくなります。
TODAY関数、EOMONTH関数、DATE関数を組み合わせれば、基準日が変わっても表全体を連動して更新できます。
日付を自動表示するときの基本ポイントです。
・今日の日付はTODAY関数で取得します。
・月末日はEOMONTH関数で計算します。
・年度は開始月を基準にIF関数やYEAR関数で判定します。
この記事では、1行目に見出しがあるサンプル表を使いながら、Excel関数で日付を扱う方法を詳しく解説します。
入力値と表示形式の違いも意識して、更新しやすいシートを作っていきましょう。
Excelで今日と月末を自動表示する関数
それではまず、今日の日付と月末日を自動表示する基本的な関数について解説していきます。
| 基準日 | 今日 | 当月末 | 翌月末 |
|---|---|---|---|
| 2026/09/02 | =TODAY() | =EOMONTH(A2,0) | =EOMONTH(A2,1) |
今日の日付は、ブックを開き直した日や再計算された日を基準として変わります。
一方で月末日を求める場合は、今日を基準にするのか、セルに入力した基準日を使うのかを最初に決めることが大切です。
TODAY関数による今日の日付
TODAY関数は、現在の日付を自動的に返す代表的な日付関数です。
セルB2に今日の日付を表示する場合は、=TODAY()と入力します。
=TODAY()
結果例 2026/09/02
この関数には引数がなく、かっこ内へ日付やセル番地を指定する必要はありません。
Excelでは日付を内部的に連続した数値として管理しており、TODAY関数もその数値を日付形式で表示しています。
表示が45200のような数字になった場合は、セルの表示形式が標準や数値になっている可能性があります。
セルを選択してホームタブの表示形式から短い日付形式、またはユーザー定義でyyyy/m/dを選びましょう。
TODAY関数は固定値ではないため、過去の帳票を保存するときは注意が必要です。
作成日時を残したい帳票では、TODAY関数の結果をコピーし、値として貼り付けて確定させる運用も役立ちます。
EOMONTH関数による当月末日
EOMONTH関数は、指定した日付から何か月後または何か月前の月末日を返す関数です。
基準日がA2に入力されている場合、当月の月末日は=EOMONTH(A2,0)で求められます。
=EOMONTH(A2,0)
A2が2026/09/02の場合の結果 2026/09/30
第1引数には基準日を指定し、第2引数には何か月ずらすかを整数で指定します。
第2引数が0なら基準日の月末、1なら翌月末、マイナス1なら前月末です。
月の日数は28日、29日、30日、31日と変わるため、単純に30日や31日を足す計算では正確な月末を求められません。
EOMONTH関数を使えば、うるう年の2月も含めて月末を正しく判定できます。
請求締め日、月次レポートの対象期間、契約終了月の確認などで活用しやすい関数です。
翌月末と前月末の応用
翌月末を表示するには、EOMONTH関数の月数を1にします。
たとえばC2に翌月末を表示する数式は、=EOMONTH(A2,1)です。
前月末を求める数式は、=EOMONTH(A2,-1)となります。
月初日も必要な場合は、月末日の計算結果に1を足す方法が分かりやすいでしょう。
前月の初日を求める数式です。
=EOMONTH(A2,-2)+1
前月末のさらに前の月末へ1か月戻し、1日を加えることで前月1日を表示します。
月初日と月末日を別セルに置くと、SUMIFS関数やFILTER関数の集計条件にも使いやすくなります。
日付を含むデータの集計では、終了条件を月末日として指定するだけでなく、時刻を含むデータなら翌月1日未満という条件も検討しましょう。
【操作のポイント】TODAY関数は日々更新される値であり、EOMONTH関数は基準日から月末を正確に返します。

基準日を入力して日付を連動させる設定
続いては、基準日を1か所へ入力し、複数のセルで日付を連動表示する設定を確認していきます。
| 基準日 | 月初日 | 月末日 | 翌月1日 |
|---|---|---|---|
| 2026/09/02 | =EOMONTH(A2,-1)+1 | =EOMONTH(A2,0) | =EOMONTH(A2,0)+1 |
日付を各セルへ直接入力する方法では、月が変わったときに複数箇所を修正しなければなりません。
基準日をA2のような1セルへ集約し、ほかのセルで参照すれば、修正作業を最小限にできます。
月初日を返す数式
基準日がA2にあるとき、当月の月初日は=EOMONTH(A2,-1)+1で求められます。
この式は、前月末日を取得してから1日加える考え方です。
たとえばA2が2026年9月2日なら、EOMONTH(A2,-1)は2026年8月31日を返します。
そこへ1を加えるため、結果は2026年9月1日になります。
Excelの日付は連続番号なので、日付に1を加えると翌日になります。
=EOMONTH(A2,-1)+1
基準日が月の途中でも、常にその月の1日を返す数式です。
DATE関数で=DATE(YEAR(A2),MONTH(A2),1)と書く方法もあります。
こちらは年、月、日を明示できるため、数式の意味を読み取りやすいという利点があります。
日付の参照と絶対参照
基準日を参照する数式を下方向や右方向へコピーする場合は、参照方式に注意が必要です。
A2をそのまま参照した数式を右へコピーすると、B2、C2のように参照先も横へ移動します。
基準日を常にA2に固定したいなら、$A$2という絶対参照を使いましょう。
たとえば月別の予定表を右方向へ作る場合、=EOMONTH($A$2,B$1)のように行と列の固定を組み合わせられます。
$記号を付ける位置によって、コピー時に固定される行と列が変わります。
数式を作成した後は、実際にオートフィルでコピーして、意図した参照先になっているか数式バーで確認する習慣が重要です。
日付形式と文字列の見分け方
見た目が2026/9/2であっても、Excelが日付として認識していないセルがあります。
文字列として入力されていると、EOMONTH関数やYEAR関数で正しく計算できず、エラーになることがあります。
セルを選択して数式バーを確認し、左寄せ表示や緑色のエラー表示がないかを確認しましょう。
文字列の日付を変換するには、データタブの区切り位置を使う方法や、DATEVALUE関数を利用する方法があります。
=DATEVALUE(A2)
A2に日付として読める文字列が入っている場合、Excelの日付シリアル値へ変換できます。
ただし、パソコンの地域設定や入力形式によって解釈が異なる場合があります。
業務用の表では、年月日を分けて入力し、DATE関数で日付を組み立てる設計も安全です。
【操作のポイント】基準日は1セルに集約し、コピーする数式では絶対参照と相対参照を使い分けます。

年度を自動判定して表示する数式
続いては、4月始まりなどの年度を自動判定して表示する数式を確認していきます。
| 対象日 | 開始月 | 年度表示 | 年度開始日 |
|---|---|---|---|
| 2026/03/31 | 4 | =IF(MONTH(A2)<B2,YEAR(A2)-1,YEAR(A2)) | =DATE(C2,B2,1) |
暦年は1月から12月までですが、日本の会計年度や学校年度では4月から翌年3月までを1年度として扱うことがあります。
年度の開始月を明確にし、日付から年度を計算する数式を作れば、年度の切り替えを手作業で行う必要がありません。
4月始まりの年度判定
A2に対象日があり、4月始まりの年度を西暦で表示する場合は、=IF(MONTH(A2)<4,YEAR(A2)-1,YEAR(A2))を使います。
対象日が2026年3月31日なら月は3であり、4より小さいため結果は2025です。
対象日が2026年4月1日なら月は4であり、結果は2026になります。
=IF(MONTH(A2)<4,YEAR(A2)-1,YEAR(A2))
2026/03/31なら2025年度、2026/04/01なら2026年度として判定します。
年度の名称は、年度が始まる年で呼ぶのか、終わる年で呼ぶのかを組織内で統一することが重要です。
たとえば2025年度を2025年4月から2026年3月までと定義するなら、上記の数式が適しています。
表示文字列として年度を付けたい場合は、=IF(MONTH(A2)<4,YEAR(A2)-1,YEAR(A2))&”年度”とします。
開始月をセルで変更する設計
開始月が固定ではなく、部署や帳票によって変わる場合は、開始月をB2に入力して参照する方法が便利です。
年度をC2に表示する数式は、=IF(MONTH(A2)<B2,YEAR(A2)-1,YEAR(A2))です。
B2を4にすれば4月始まり、10にすれば10月始まりの年度として計算できます。
月の値は1から12までに限定したいため、データの入力規則でリストを設定する方法も有効です。
開始月を数式へ直接書き込まず、設定セルとして分離すると、表の再利用性が高まります。
複数人で使うExcelファイルでは、設定セルに色を付け、入力箇所であることを分かりやすくしておくと親切です。
年度開始日と年度終了日の算出
年度番号がC2、開始月がB2にある場合、年度開始日は=DATE(C2,B2,1)で作成できます。
年度終了日は、開始日の12か月後から1日引くことで求められます。
=EDATE(D2,12)-1
D2に年度開始日がある場合、12か月後の前日を年度終了日として返します。
EDATE関数は指定した月数だけ日付を前後へ移動させる関数です。
4月1日から始まる年度であれば、12か月後の4月1日から1を引くため、翌年3月31日が求められます。
月次集計や年度別の売上管理では、開始日と終了日をセルに置き、SUMIFS関数の条件として参照すると管理しやすくなります。
【操作のポイント】年度は開始月を基準に判定し、開始月を設定セルへ分けると運用変更にも対応できます。

DATE関数と表示形式による日付表記
続いては、DATE関数で日付を作成し、表示形式で見た目を整える方法を確認していきます。
| 年 | 月 | 日 | 作成した日付 |
|---|---|---|---|
| 2026 | 9 | 2 | =DATE(A2,B2,C2) |
日付を表示する作業では、計算に使う日付の値と、読者に見せる表記を分けて考えることが大切です。
DATE関数で正しい日付データを作り、セルの表示形式で年月日や曜日の見た目を変更しましょう。
DATE関数による年月日の結合
DATE関数は、年、月、日を別々の数値から正しい日付へ組み立てる関数です。
A2に年、B2に月、C2に日があるなら、D2には=DATE(A2,B2,C2)と入力します。
=DATE(A2,B2,C2)
A2が2026、B2が9、C2が2の場合の結果 2026/09/02
文字列を&記号でつないで2026/9/2のように作る方法もありますが、計算用のデータではDATE関数が適しています。
DATE関数の結果はExcelが日付として扱うため、加算、減算、月末計算、曜日判定へそのまま利用できます。
月が13の場合は翌年1月として調整され、日が0の場合は前月末として調整されます。
この性質は便利ですが、入力ミスを見つけにくくする場合もあるため、入力規則との併用を検討しましょう。
曜日を含めるユーザー定義形式
日付の値を変えずに曜日を表示したい場合は、セルの表示形式を変更します。
セルの書式設定でユーザー定義を選び、yyyy年m月d日 aaaと入力すると、2026年9月2日 水のように表示できます。
曜日を括弧付きで表示したい場合は、yyyy/m/d aaaの書式でも見やすくなります。
表示形式を変えてもセル内の日付データそのものは変わりません。
そのため、帳票では見やすい和文表記にし、計算用の列では短い日付形式にするという使い分けができます。
曜日まで含める表では、土日や祝日の色分けを条件付き書式で設定すると、予定や勤務表の確認がしやすくなります。
TEXT関数で文字として日付を表示する場面
TEXT関数は、日付を指定した書式の文字列として返す関数です。
たとえば=TEXT(A2,”yyyy年m月d日”)とすると、日付を日本語表記の文字列へ変換できます。
メール文面の下書きや、文章と日付を連結するセルでは役立ちます。
=”集計対象期間は”&TEXT(A2,”yyyy年m月d日”)&”です”
日付を文章中へ自然な表記で差し込む数式です。
ただし、TEXT関数の結果は文字列です。
TEXT関数で整形した日付は、日付計算や並べ替えの基準としては使いにくくなります。
計算が必要な場合は元の日付セルを残し、表示専用のセルでTEXT関数を使う方法が適切です。
【操作のポイント】DATE関数で日付の値を作り、表示形式で見た目を整えると計算と閲覧を両立できます。
日付関数のエラーと更新時の注意点
続いては、日付関数で起こりやすいエラーと、更新時に確認したい注意点を確認していきます。
| 表示内容 | 主な原因 | 確認方法 |
|---|---|---|
| ####### | 列幅不足または負の日付 | 列幅と計算式を確認 |
| #VALUE! | 文字列の日付や不正な引数 | 入力形式を確認 |
| 日付が更新されない | 計算方法が手動 | 数式タブの計算設定を確認 |
日付の計算式が正しく見えても、セルの形式、計算設定、入力値の状態によって期待した結果にならないことがあります。
エラーを見つけたときは、数式だけでなく元データと表示形式も順番に見直しましょう。
#######とVALUEエラーの原因
セルに#######と表示される場合、最初に列幅が足りているかを確認します。
日付の表示は文字数が増えやすく、yyyy年m月d日や曜日付きの形式では列幅不足になりがちです。
列の右端をダブルクリックして幅を自動調整すると解決することがあります。
一方、#VALUE!は、関数が日付として解釈できない文字列を参照している場合によく発生します。
空白文字や全角記号が混じった日付、存在しない日付が入力されていないかを確認しましょう。
日付の入力規則を設定しておくと、関数エラーの原因になる不正入力を減らせます。
自動計算が更新されない場合
TODAY関数の結果が翌日になっても変わらない場合は、Excelの計算方法が手動になっている可能性があります。
数式タブから計算方法の設定を開き、自動が選択されているかを確認します。
手動計算のままでは、数式を変更してもすぐに再計算されないことがあります。
必要に応じてF9キーで再計算を実行することもできます。
ただし、大容量ブックでは自動計算により動作が重くなる場合もあります。
共有する業務ファイルでは、計算設定が保存される影響も考慮し、利用者へ更新方法を伝えておくと安心です。
日付と時刻が混在するデータ
受注日時や作業日時のように、日付と時刻が同じセルへ入っているデータでは、見た目だけでは判別しにくい差が生まれます。
たとえば2026/09/30 15:00は、2026/09/30と同じではありません。
日付だけを取り出したい場合は、=INT(A2)で整数部分だけを取得できます。
月末までのデータを集計するとき、時刻を含む最終日のデータが漏れないよう注意しましょう。
開始条件 >=月初日
終了条件 <翌月1日
時刻を含むデータを月単位で集計するときに安全な条件です。
日付と時刻が混在する表では、終了日以下ではなく翌月1日未満で条件を作ると漏れを防ぎやすくなります。
【操作のポイント】エラー時は数式、元データ、表示形式、計算設定の順に確認すると原因を切り分けやすくなります。
まとめ Excel関数による日付の自動表示方法
Excel関数で日付を扱う方法では、今日の日付にはTODAY関数、月末日にはEOMONTH関数、年月日の組み立てにはDATE関数が基本となります。
日付の入力や修正を1か所の基準セルへ集約すると、月替わりや年度替わりの更新作業を大幅に減らせます。
当月の月末日は=EOMONTH(A2,0)、当月の月初日は=EOMONTH(A2,-1)+1で求められます。
4月始まりの年度は、=IF(MONTH(A2)<4,YEAR(A2)-1,YEAR(A2))を使うと対象日から自動判定できます。
年月日が別セルにあるデータはDATE関数で日付へ変換し、曜日や和文表記は表示形式で整えると計算しやすい表になります。
TEXT関数は見栄えのよい文字列作成に便利ですが、計算用の日付とは分けて使いましょう。
また、日付に時刻が含まれるデータでは、月末日の扱いと集計条件に注意が必要です。
日付関数を正しく組み合わせ、毎月や毎年度に手直ししなくても使えるExcelシートへ育てていきましょう。