- エクセルで日付同士を引き算する方法はどうやるのだろう?
- 関数で便利に計算できないのかな・・・
そんな思いにお応えできるようこの記事では、
- エクセルで日付の差を求める方法
- 日付の差を求めるのに便利な関数や、その他日付を扱う関数
について解説しています。
引き算については、【エクセル】引き算の基本から関数の組合せ・エラーも解説!の記事で使い方をまとめているので、こちらの記事も是非ご参考下さい。
日付の差を求めたい(引き算したい)
エクセルでは、日付同士を引き算することができます。
例えば、本日が2022年の10月3日だとして、表の中の「入社日」と引き算をしたい場合です。
D3セルに、
="2022/10/3"-C3
という数式を入力すれば、差の日付を簡単に計算することができます。
しかし、これはあくまで日数であり年数ではありません。
365で割れば年数を出すことはできますが少数の値となりますし、厳密には366日の年もあるので正確とはいえません。
エクセルで日付同士を引き算する、すなわち差を求めたいときにはDATEDIF関数を使用しましょう。
DATEDIF関数は、
=DATEDIF(開始日,終了日,単位)
という形式で使用することができます。
開始日、終了日は日付を指定する形ですが単位については日数(D)・月数(M)・年数(Y)のいずれかを使用します。
具体的に解説しますと、先ほどの例と同様に社員の入社日と本日の日付の差を求めたいとします。
このような場合、
=DATEDIF
から数式を始めます。
まずは開始日なので、入社日の入っているセルを選択します。
次に終了日です。例えば本日が2022年10月3日だとすると下記のようになります。
最後に単位を指定します。今回は経過年数なので、Yを指定します。
数式を完成させEnterを押すと、結果が表示されます。今回であれば12年ですね。
TODAY関数と組み合わせる
終了日のところで"2022/10/3"と入力しましたが、TODAY関数を使うとより便利です。
TODAY関数は、
=TODAY()
という数式を入力すると今日の日付を返してくれる関数です。
この関数と組み合わせることで、手入力しなくても本日の日付を基準とした経過年数を計算することができます。
下記のように、本日の日付を手入力したときと同じ結果を得ることができます。
他のセルに数式をコピーすると、下記のようになります。
エクセルで日付を扱うための関数
日付の差を計算できるDATEDIF関数について解説しましたが、エクセルで日付を扱うための関数は他にもいくつかあります。
例えば、先ほどの例で使用したTODAY関数と同じように、引数無しで使うことのできるNOW関数があります。
NOW関数を使うと、現在の時刻や日付を返してくれます。
また、他には値に含まれる「月」の部分を返してくれるMONTH関数や
「日」の部分を返してくれるDAY関数などもあります。
日付を扱う関数については、【一覧有】エクセルで日付を扱う関数にはどんなものがある?の記事で一覧表にしてまとめていますので、是非ご参考下さい!