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】重複を抽出して削除する方法(Countif 他全4種)

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

  2. illust_pc_excel_title2

    Excel

    【Excel関数】生年月日から年齢を計算する方法

    生年月日と一言でいっても数値、日付、文字列といろんな形式があります。そ…

  3. vlookupサムネ

    Excel

    【Excel関数】応用の前にまずは基本!vlookupの使い方

    vlookup関数は、別シートや別表のデータを参照できる関数です。でも…

  4. 白黒折線サムネ

    Excel

    【Excel】折れ線グラフを白黒印刷でも見やすく!わかりやすく!

    お疲れさまです。ゆうぞうです。今回のビズ技は、折れ線グラフを白…

  5. サムネイル折線

    Excel

    【Excel】折れ線グラフを塗りつぶして見やすくする作り方

    サムネイルのグラフのような、折れ線グラフを塗りつぶして効果的に魅せる方…

  6. Excel

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

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

スポンサーリンク




特集

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

スポンサーリンク




仕事効率アップ系記事

  1. ショートカットサムネ
  2. illust_biz_filng
  3. Altキーサムネ
  4. 折れ線グラフ点線サムネ (2)
  5. カレンダー

スキルアップ系記事

  1. サムネ唯一の事M
  2. enphasis_top
  3. 体重計
  4. 新社会人-パワポ
  5. vlookupサムネ

スポンサーリンク




ピックアップ記事

  1. プレミアムフライデー
  2. analysis
  3. regret
  4. 宝くじ
  5. プレミアムフライデー
  1. SC特集サムネ

    PC

    【特集】ショートカットキーで仕事効率化!働き方改革の小さな一歩👣…
  2. 折れ線グラフ特集1

    PC

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

    Column

    【特集】「働き方改革」を独り歩きさせない!「働き方改革」の実現に向けて
PAGE TOP