Excel関数 逆引き集 | 月初からの経過日数 → DAY

Excel
スポンサーリンク

概要

「月初から何日経過しているか」を一瞬で出すなら、DAY関数が最短です。DAYは“その月の何日目か”を返すので、実質「月初からの経過日数(1始まり)」になります。たとえば 2025/12/17 なら DAY=17、つまり月初から17日経過。0始まりが欲しい場合は DAY-1 を使います。


基本の使い方

書式

=DAY(日付)

日付にはセル参照、DATE、TODAYなどが使えます。戻り値は 1〜31 の整数で、その月の「日」を表します。

=DAY("2025/12/17")   // 17(12月17日は月初から17日目)
=DAY(TODAY())        // 今日が月の何日目か(1始まり)

具体例

セル参照で「月初からの経過日数(1始まり)」

=DAY(A2)

A2が 2025/12/17 なら結果は 17。

0始まりで経過日数を取りたい(経過“満日数”)

=DAY(A2)-1

A2が月初なら 0、2日なら 1 といった“満日数”になります。

数式で月初を明示して計算(同値の別表現)

= A2 - (EOMONTH(A2,-1)+1) + 1

「当月の月初日」を引いて+1する形。結果は DAY(A2) と同じになります。


応用テンプレート

月初から今日までの経過日数(1始まり)

=DAY(TODAY())

月初から今日までの“満”経過日数(0始まり)

=DAY(TODAY())-1

当月の合計日数

=EOMONTH(TODAY(),0) - (EOMONTH(TODAY(),-1)+1) + 1

その月の日数(28〜31)を返します。

当月の進捗率(%表示にすると便利)

=DAY(TODAY()) / (EOMONTH(TODAY(),0) - (EOMONTH(TODAY(),-1)+1) + 1)

「月のうち何割進んだか」を取得(表示形式をパーセンテージに)。


よくあるつまずきと対策

DAYは“1始まり”

DAYは常に 1〜31 を返します。0始まりの“満経過日数”が必要なら必ず「-1」を付けてください。

時刻が入っていても大丈夫

日時(NOW)を渡しても、DAYは「日付部分のみ」を見ます。時刻は無視されます。

文字列日付の解釈

「YYYY/MM/DD」を文字列で渡すと環境依存で誤解釈の可能性があります。セルを“日付”として入力するか、DATEで生成しましょう。

月初日そのものが欲しい場合

「月初日」は EOMONTH(日付,-1)+1 で取得できます。月末は EOMONTH(日付,0)。


例題

問題1: A2の日付が「月の何日目」か(1始まり)をB2に表示してください。

=DAY(A2)

問題2: A2の日付について、月初からの“満経過日数”(0始まり)をC2に表示してください。

=DAY(A2)-1

問題3: 今日が「月の何日目」かをD2に表示してください。

=DAY(TODAY())

問題4: 今日までの月進捗率(0〜100%)をE2に表示してください(%表示)。

=DAY(TODAY()) / (EOMONTH(TODAY(),0) - (EOMONTH(TODAY(),-1)+1) + 1)

問題5: F2の日付について、「数式で月初を明示して」経過日数(1始まり)をG2に表示してください。

=F2 - (EOMONTH(F2,-1)+1) + 1

まとめ

「月初からの経過日数」は DAY が最短ルートです。1始まりか0始まりかを決め、必要に応じて EOMONTH と組み合わせれば“月初・月末・当月日数・進捗率”まで一貫して扱えます。レポートやダッシュボードでは、DAYを基点に“0始まり”や“進捗%”へ派生させる設計がシンプルで強力です。

タイトルとURLをコピーしました