not_dateadd

Excel

【Excel】dateaddが使えない!?VBAを使わずできる日付計算

dateadd関数はVBAでのみ使用できる関数で、通常のExcel関数としては使えません。10日後、3か月後、5年1カ月後、1週間前など、足し算や引き算のやり方を紹介します。色んなやり方はありますが、最初に紹介するDATE関数だけ覚えておけば十分です。

1.DATE関数

これさえ覚えておけば、日付に一定期間を足す・引くはやれるでしょう。私の経験上9割はこれで足りています。

=DATE(YEAR(A2)+年数,MONTH(A2)+月数,DAY(A2)+日数)

 

演算する対象をA2セルの日付とした場合、上記のように汎用的に表すことができます。○日後を計算したい場合は"日数"の箇所のみ設定し"年数"と"月数は不要です。○か月後を掲載したい場合は"月数"の箇所のみ設定し"年数"と"日数"は不要です。○年後についても同様。○か月と○日後など、月数と日数の複合での計算も可能です。これらをまとめてみるとこのようなイメージになります。
not_dateadd1

 

9~11行目にもあるように、○日前、○か月前のような過去を計算することももちろんできます。

 

セルのひとつひとつの計算式を修正するのは面倒なので、年・月・日の数字だけ入力すれば計算されるようにするとすればこんな感じでしょうか
not_dateadd2

 

1行ごとに計算をするようなことは実務上は考えにくいですね。現実的な使い方としては、"入会日から90日間が有効期間というような顧客リスト"を作成する場合、以下のような使い方ができます。
not_dateadd3

このやり方だけ覚えておけば十分ですが、他にも使える関数や、Excelの日付のシルアル値の考え方を利用した計算方法を紹介しておきます。

2."日"の足し算・引き算

 

=日付+日数

 

Excelは日付も数字として扱うことができます。日付を入力したはずなのに43009というような数字が表示されたことはないでしょうか?

 

Excel上では1900/1/1を1として認識しています。この時の1のことをシリアル値といいます。1900/1/2はシリアル値では2となります。シリアル値43009は1900/1/1から43009日目を意味しており、日付で表示すると2017/10/10となります。

 

ここまでの説明でもうお分かりでしょうか。通常の数字の足し算・引き算と同じやり方で、日付単位の足し算・引き算もできてしまいます。

 

例えば、A1セルに日付がある場合、1日後は

=A1+1

 

 

1週間前は

=A1-7

 

 

日付とシリアル値の関係は次の通り。
not_dateadd4

 

この計算方法は、単純に日数だけ計算しているためひと月の日数が30日、29日、28日と異なった場合に自動で判定されません。単純に10年後を計算しようと365日×10年=3650日を足し算しても
not_dateadd5

 

と、うるう日の分だけずれてしまいますので注意してください。

 

 

シリアル値の考え方を利用すると、Excelでカレンダーがカンタンにつくれます。タスク管理表やWBS(Work Breakdown Structure)の作成にも応用できます。Excelカレンダーはまた別の機会にご紹介します。

 

3."月"の加算/減算

月は30日、31日、28日、29日など月によって日数が異なるため、既に紹介した日単位の計算では対応しきれません。月単位の加算/減算はEDATE関数で○か月後や○か月前を計算することができます。

=EDATE(日付,月数)

 

例えば、A1セルに日付がある場合、3か月後の計算は

=EDATE(A1,3)

 

3か月前の計算は

=EDATE(A1,-3)

で計算できます。

4.まとめ

シリアル値での日単位の計算や、EDATE関数で月単位の計算ができますが、冒頭に紹介しているDATE関数さえあれば年・月・日のどの単位でも計算できます。覚えておくのが大変という場合は、このページをブックマークしておいてください。

=DATE(YEAR(A2)+年数,MONTH(A2)+月数,DAY(A2)+日数)

 

スポンサーリンク
スポンサーリンク

関連記事

  1. Excel

    【Excel関数】住所情報から都道府県を抽出する方法

    "東京都千代田区1-1-1"のように連結した住所情報から都道府県だけを…

  2. 折れ線グラフ点線サムネ (2)

    Excel

    【Excel】実線の一部を点線に替える「折れ線グラフ」の作り方

    実績と将来予測をグラフで示したい場合など、一本の折れ線グラフの中を実線…

  3. Excel

    【Excel】年齢を年代表示にする方法

    年齢を年代に変換(29→20)して、さらに”20代”や”20~29歳”…

  4. vlookupErrorサムネ

    Excel

    【Excel関数】vlookupがエラーで使えない!原因と回避方法7パターン

    vlookup関数が#N/A、#NAME?などよくエラーになってしまい…

  5. 新社会人-エクセル

    Excel

    新社会人が覚えておきたいエクセル機能(初級編)

    パソコンをこれから始めて使うという新社会人も増えてきていると聞きます。…

  6. Excel

    【Excel】重複を抽出して削除する方法(Countif 他全4種)

    "重複チェック"や"重複削除"の方法は、ひとつではありません。その方法…

スポンサーリンク




特集

  1. 折れ線グラフ特集1
  2. 特集働き方改革サムネ
  3. SC特集サムネ

スポンサーリンク




仕事効率アップ系記事

  1. Keyboad
  2. ショートカットサムネ
  3. Altキーサムネ
  4. カレンダー
  5. illust_biz_filng
  6. サムネ-揃える

スキルアップ系記事

  1. 白黒折線サムネ
  2. graph
  3. 円グラフ
  4. 5W3H
  5. アイディア発想
  6. ハイローマトリクス-サムネ

スポンサーリンク




ピックアップ記事

  1. サムネイル
  2. 管理職マネジャー
  3. analysis
  4. ボスマネ-サムネ
  5. 宝くじ
  1. 折れ線グラフ特集1

    PC

    【特集】"使い方"では足りない!「折れ線グラフ」の"使いこなし方"
  2. 特集働き方改革サムネ

    Column

    【特集】「働き方改革」を独り歩きさせない!「働き方改革」の実現に向けて
  3. SC特集サムネ

    PC

    【特集】ショートカットキーで仕事効率化!働き方改革の小さな一歩👣…
PAGE TOP