Excel関数 逆引き集 | 日付−n日 → –

Excel
スポンサーリンク

概要

「日付から“n日を引く”」だけなら、関数は不要です。Excelの日付は「1日=1」の連番(シリアル値)なので、単純に “− n” の引き算で n 日前が求まります。例えば 2025/12/17 − 3 は 2025/12/14。月をまたぐ、うるう年をまたぐ場合も自動的に正しい日付に調整されます。


基本の使い方

書式

=日付セル - n
  • 日付セル:A2など、日付が入っているセルや DATE/TODAY/NOW で生成した日付
  • n:引く日数。正の整数を指定(例:3で3日前)

=A2 - 3             // A2の3日前
=DATE(2025,12,17)-5 // 2025/12/12
=TODAY() - 7        // 今日から1週間前
=NOW() - 1          // 現在日時の「前日・同時刻」

結果が数値に見えるときは、セルの表示形式を「日付(yyyy/mm/ddなど)」に変更します。


具体例

納期の“n日前”リマインド日

=納期セル - リマインド日数セル

納期が B2、リマインド日数が C2 なら、B2-C2 で“何日前に通知するか”の日付が取れます。

3日前・30日前などの固定引き

=基準日 - 3   // 3日前
=基準日 - 30  // 30日前

うるう年・月末またぎも自動対応

=DATE(2024,3,01)-1  // 2024/02/29(うるう年の月末)
=DATE(2025,3,01)-1  // 2025/02/28(平年の月末)

営業日ではなく“暦日”での減算

=TODAY()-10  // 土日・祝日関係なく10日前

営業日(平日ベース)で前倒ししたいなら WORKDAY を使います(応用で後述)。


応用テンプレート

結果を「yyyy/mm/dd (aaa)」で見やすく表示

=TEXT(A2-B2,"yyyy/mm/dd") & " (" & TEXT(A2-B2,"aaa") & ")"

A2の日付からB2日を引いた結果を整形表示。

月末から n 日前を簡単に

=EOMONTH(A2,0) - n

A2が属する“月末の n 日前”を取得。

月初から n 日前(前月末へまたぐケース)

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

「当月月初の n 日前」を取りたいときの汎用形。

営業日で n 日前(祝日も除外)

=WORKDAY(基準日, -n, 祝日範囲)

例:

=WORKDAY(B2,-5,$H$2:$H$50)

納期B2の“5営業日前”を返します。


よくあるつまずきと対策

表示が数値になる

返り値はシリアル値。表示形式が“標準”だと整数に見えます。セルの表示形式を「日付」に変更してください。

土日・祝日は除外されない

単純な引き算は“暦日”です。営業日ロジックが必要なら WORKDAY(週末固定)や WORKDAY.INTL(週休日カスタム)を使います。

文字列日付だとうまく引けない

“2025/12/17” が文字列扱いだと計算できないことがあります。セルを“日付”として入力するか、DATE(年,月,日)で生成しましょう。

時刻を維持したい

NOW(日時)から n を引くと「前日・同時刻」になります。日付だけなら TODAY、時刻も必要なら NOW を選びます。


例題

問題1: A2(日付)の 10 日前を B2 に表示してください。

解答例:

=A2-10

問題2: C2(日付)の 3 日前を D2 に表示してください。

解答例:

=C2-3

問題3: 今日から 7 日前の日付を E2 に表示してください。

解答例:

=TODAY()-7

問題4: F2(日付)−G2(日数)の結果を「YYYY/MM/DD (aaa)」形式で H2 に表示してください。

解答例:

=TEXT(F2-G2,"yyyy/mm/dd") & " (" & TEXT(F2-G2,"aaa") & ")"

問題5: 納期 I2 の“10営業日前”を、祝日一覧 K2:K50 を除外して J2 に表示してください。

解答例:

=WORKDAY(I2,-10,$K$2:$K$50)

まとめ

「日付−n日」は“ただ引くだけ”でOK。Excelの日付は連番なので、月末・月初・うるう年も自動処理されます。暦日で良いなら「− n」、平日・祝日除外が必要なら WORKDAY/WORKDAY.INTL を使い分ける。仕上げは TEXTで整形——この設計を押さえると、前倒し期日の計算が驚くほどシンプルになります。

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