Google Sheetsで2つの日付の差分を計算する方法

あなたのような読者は、MUOをサポートするのに役立ちます。当サイトのリンクを使って購入された場合、アフィリエイト報酬を得ることがあります。続きを読む

2つの日付の差を計算するのは、何度もやるとイライラしますよね。幸い、Google Sheetsにはこの目的のための特別な関数があります。

DATEDIF関数は、2つの日付を入力すると、その差が日、月、年単位でどのくらいあるかを教えてくれます。この関数がどのようなものなのか、簡単な例で見てみましょう。

スクロールして内容を続ける

Google SheetsのDATEDIF関数とは?

DATEDIFは、2つの日付の差を計算するGoogle Sheetsの関数です。この関数は、差の値を年、月、日単位で返すことができます。適切なパラメータを指定すると、DATEDIFは月と日の差も返すことができ、年の差は無視されるなど、さまざまな癖があります。

DATEDIF関数の構文は以下の通りです:

=DATEDIF(date1, date2, unit)

DATEDIF は、date1 から date2 を引き、その差を指定した単位で返す。この関数がサポートする単位を以下に示します:

単位

備考

Y

2つの日付の間の整数年数。

M

2つの日付の間の整数ヶ月の数。

D

2つの日付の間の日数。

MD

2つの日付の間の日数。ここでは、年および月の合計が差し引かれます。

ワイエム

2つの日付の間にある整数月の数(ここで、整数年は減算される)。

ワイディー

2つの日付の間の日数。2つの日付は1年以上離れていないとみなされる。

DATEDIF関数において、これらの単位がどのような意味を持つのか、例を挙げて説明します。

Units in DATEDIF explained.

例として、学生'の誕生日があり、2001年2月7日である。DATEDIFを使うと、その生徒が2022年1月31日に何歳であったかを示すことができます。以下は、DATEDIF関数で各ユニットが返す値です:

  • Y: 2つの日付の差は20年なので、これは20を返します。
  • M: これは251を返します。2つの日付の差は251ヶ月です。
  • D:2つの日付の間に7663日経過しているので、7663を返します。
  • MD:これは24を返します。2つの日付の差は7と31の差であり、24となります。
  • YM:これは11を返します。通年を引いた後、2月は1月から11ヶ月離れている。
  • YD:358を返します。年数を無視すると、2月7日と1月31日の差は358日です。

Google SheetsでのDATEDIF関数の使用方法

DATEDIF関数は、3つのパラメータを受け取ります:最初の日付、2番目の日付、そして単位です。入力する日付は日付形式でなければならず、テキストではありません。また、単位は前節で述べたものに限られます。これらを踏まえて、この関数を実際に使ってみましょう。

Sample spreadsheet for DATEDIF in Google Sheets

簡単な例として、火星2020ミッションの打ち上げとタッチダウンの日付が書かれたスプレッドシートがあります。このスプレッドシートによると、宇宙船は2020年7月30日に離陸し、2021年2月18日に火星に着陸しています。

目的は、この宇宙船が移動した日数や月数を計算することです。そのために、Google SheetsのDATEDIF関数を使うことができます。まず、セルの形式が正しいかどうかを確認する必要があります:

  • 日付の入っているセルを選択します。
  • 書式」メニューから「数値」を選択します。
  • 数値の書式から、「日付」を選択します。これで、選択したセルが日付の書式に設定されます。
  • Formatting cells as date in Google Sheets

    フォーマットが整ったので、次はDATEDIFを使って差分を計算します:

  • 日付の差を日数で表示したいセルを選択します。このスプレッドシートではセルB4となります。
  • 数式バーで以下の数式を入力します:=DATEDIF(B2, B3,\"d")
  • Enterを押してください。
  • Google Sheetsはこれで、宇宙船が569日間移動したことを教えてくれる。この数式は、DATEDIFを呼び出して、日付B2とB3の差を日数で計算しています。

    DATEDIFの単位をいじることで、宇宙船が何ヶ月移動したかを計算することができます:

  • 日付の差を月単位で表示させたいセルを選択します。この表計算ソフトではセルB5となります。
  • 数式バーに以下の数式を入力します: =DATEDIF(B2,B3,\"M")
  • Enterを押して
  • ください。 Calculating the months between two dates using DATEDIF in Sheets.

    Google Sheetsはこれで、宇宙船が18ヶ月間移動したことを教えてくれる。ここでの計算式は、日数ではなく月数で返すことを除けば、先ほどと同じです。

    A sample spreadsheet in Google Sheets

    別の例でこのスキルを強化しましょう。上のスプレッドシートでは、John Doe’の生年月日が表示されています。目標は、前回の誕生日から何日経過し、次の誕生日まで何日残っているかを計算することです。

    そのためには、TODAY関数を使ってGoogle Sheetsに今日’の日付を入力し、DATEDIF関数を使って今日'とジョン’の生年月日の差を計算すればよいのです。

  • 最初の日付が入力されたセルを選択します。この例ではセルB1になります。
  • 書式」→「数字」と進みます。
  • 日付」を選択します。これでセルの形式が日付に変更されます。
  • 現在の日付を表示するセルを選択します。この例では、セルB2になります。
  • 数式バーに移動し、以下の数式を入力します:=TODAY()
  • Enterを押してください。
  • この数式は、今日の’日付を取得し、セルに表示します。返される値は日付形式なので、DATEDIFなど他の日付関連関数でも使用可能です。

    Using the TODAY function in Google Sheets

    これで、これから扱う2つの日付が揃いました。DATEDIFを使って、Johnの最後の誕生日から経過した日数を計算してみましょう:

  • 結果を表示したいセルを選択します。この例ではセル B3 を選択しました。
  • 数式バーに移動して、以下の数式を入力します:=datedif(b1, b2,\"yd")
  • Enterを押します。
  • この式は、日付 B1 と B2 の差を計算します。YDパラメータは、2つの日付が1年以上離れていないと仮定するように関数に指示します。Enterを押すと、Google SheetsはJohn’の最後の誕生日(この例では現時点で331)から何日経過したかを教えてくれます。

    Using the DATEDIF function in Google Sheets

    ついでに、John’の次の誕生日まで何日あるか見てみましょう。John’の誕生日は365日ごとに繰り返され、前回の誕生日から284日経過していれば、次の誕生日まで365日-284日残っていることになります。これを表す式を書いてみましょう:

  • 計算式の結果を表示したいセルを選択します。この例ではセルB4となります。
  • 数式バーに以下の数式を入力します: =365-B3
  • Enterを押してください。
  • この式は、365からJohn’の前回の誕生日からの経過日数を引き、John’の次の誕生日まであと何日あるかを教えてくれる。

    Using subtraction in Google Sheets

    また、Google Sheetsで日付を数値に変換することで、2つの日付の差を計算することもできます。この方法では、日付に対して数学的な関数を実行し、Google Sheetsで数字の引き算をするのと同じように引き算をすることができます。

    カウントダウンを始めよう:Google Sheetsで日付の違いを計算する

    次のイベントまでの日数や、過去のイベントからの月数など、Google Sheetsは日数をカウントダウンするのに便利なツールです。

    このガイドで、DATEDIFF を使って 2 つの日付の差を計算する方法がわかったと思います。また、この差を見る時間単位を指定することができ、年、月、日、そして偏差値を指定することができます。

    Google Sheetsでは、時刻と日付の関数は便利なもので、それらを使って計算を楽にすることができます。しかし、DATEDIFFだけではありません。もっと多くの関数を使いこなして武器を増やし、カウントダウンをスタートさせましょう!

    Scroll to Top