日付の差を計算したいとき、「Googleスプレッドシートを使ってみたけど、うまくいかない…」と感じたことはありませんか?たとえば、「誕生日から今日までの年齢を計算したい」「契約開始日から終了日までの期間を求めたい」など、日常生活や仕事でよくあるシーンです。
でも、大丈夫です。Googleスプレッドシートには、そんな悩みを解決する便利な関数があるんです。それが「DATEDIF(デイト・ディフ)」関数です。
DATEDIF関数とは?
DATEDIF関数は、2つの日付の差を計算するための関数です。例えば、生年月日から今日までの年齢や、契約開始日から終了日までの期間などを求める際に使用します。
DATEDIF関数の基本的な使い方
関数の書式は以下の通りです
=DATEDIF(開始日, 終了日, 単位)
* 開始日計算の起点となる日付
* 終了日計算の終点となる日付
* 単位計算結果の単位を指定する文字列
例えば、セルに生年月日「1990/4/1」、セルB2に今日の日付が入力されている場合、以下のように入力します
=DATEDIF(セル, TODAY(), "Y")
これで、今日の時点での年齢が表示されます。
DATEDIF関数の「単位」の使い分け
DATEDIF関数では、以下の単位を指定することで、異なる期間を計算できます
| 単位 | 意味 |
|---|---|
| “Y” | 年数 |
| “M” | 月数 |
| “D” | 日数 |
| “MD” | 年月を無視した日数 |
| “YM” | 年を無視した月数 |
| “YD” | 年を無視した日数 |
例えば、セルに「2020/1/1」、セルB2に「2023/12/31」が入力されている場合
* 年数を求める
=DATEDIF(セル, セルB2, "Y")
* 月数を求める
=DATEDIF(セル, セルB2, "M")
* 日数を求める
=DATEDIF(セル, セルB2, "D")
「年齢と月数」を同時に表示する方法
年齢と月数を同時に表示したい場合、以下のように入力します
=DATEDIF(セル, TODAY(), "Y") & "歳" & DATEDIF(セル, TODAY(), "YM") & "ヶ月"
これで、例えば「35歳8ヶ月」のように表示されます。
よくある質問や疑問
Q1: DATEDIF関数でエラーが出る場合はどうすれば良いですか?
開始日が終了日よりも後の日付になっていると、「#NUM!」エラーが表示されます。この場合、日付の順序を確認し、開始日が終了日よりも前の日付であることを確認してください。
Q2: DATEDIF関数で月数や日数が正しく表示されない場合はどうすれば良いですか?
開始日と終了日が同じ日付の場合、月数や日数が「0」と表示されることがあります。この場合、日付の差がないため、正しい結果が表示されます。
Q3: DATEDIF関数を使って年齢を自動で更新する方法はありますか?
はい、TODAY関数を使用することで、スプレッドシートを開くたびに自動で現在の日付を取得できます。これにより、年齢が自動で更新されます。
まとめ
GoogleスプレッドシートのDATEDIF関数を使えば、日付の差を簡単に計算できます。年齢や勤続年数、契約期間などを求める際に非常に便利です。関数の使い方や注意点を押さえて、業務や日常生活で活用してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント