エクセル関数のDATEDIF関数という日付の差分を求めることができる関数を紹介します。
この関数を使用すれば、生年月日と現在の日付から簡単に現在の年齢(〇歳〇カ月)を計算できます。
年齢などを計算できる
DATEDIF関数も、「数式」タブの「関数ライブラリ」の「関数の挿入」からは選択できない「隠れた関数」です。
隠れた関数には、その他便利な関数があるので、知らない人は目を通しておきましょう。
DATESTRING関数で日付を和暦に変換 NUMBERSTRING関数の使い方|数字を漢数字に変換この記事の内容
DATEDIF関数の使い方
DATEDIF関数は 「DATE:日付」と「DIF(FERENCE):差」 の2つの単語を組み合わせてあり、日付の差分を求める関数です。
DATEDIF関数の入力規則
項目 | 内容 |
---|---|
入力規則 | =DATEDIF( 開始日, 終了日, 取得期間) |
開始日 | 計算期間の初日を指定 |
終了日 | 計算期間の最終日を指定 |
取得期間 | 差分として取得する期間を指定する(「取得期間の指定」参照) |
実際の使用サンプル
=DATEDIF(A1,B1,”Y”)
上記の例の場合は、A1の日付とB1の日付の差分として「年数」を取得します。
=DATEDIF(A1,TODAY(),”Y”)
TODAY関数を組合せると、A1の日付と現在の日付の差分として常に最新の「年数」を取得することができますね。
取得期間の指定方法
取得期間に取得する期間を指定することで、必要な情報のみを取得できます。
項目 | 内容 |
---|---|
“Y” | 満年数を取得する。 |
“M” | 満月数を取得する。 |
“D” | 満日数を取得する。 |
“YM” | 1年に満たない月数を取得する。 |
“YD” | 1年に満たない日数を取得する。 |
“MD” | 1ヶ月に満たない日数を取得する。 |
DATEDIF関数の入力について
エクセル関数は関数の挿入ではなく、予測変換を使用して入力するのがおすすめです。詳しくは「関数の挿入を使わないで予測変換を使う理由3つ」をご覧ください。
DATEDIF関数は隠れた関数のため、関数の挿入ではなく、直接入力する必要があります。(予測変換にも表示されません。)
下図のようにセルに入力しましょう。
単位(年や月)などは表示されませんので、隣のセルに入力するか、条件付き書式を使って表すようにしましょう。
DATEDIF関数の注意点
DATEDIF関数は便利な関数ですが、下記の点に注意してください。
閏年の計算の正確性(バグ)
隠れた関数であるだけあって、閏年の計算にバグがあるようです。
そのため、閏年の2月の月末を含んだ場合の正確な日数計算でのDATEDIF関数の使用はおすすめできません。
年月までの計算で使用するなら問題ないので、注意しておきましょう。
DATEIF関数のエラー
意外と忘れがちなのが、DATEDIF関数の取得期間の指定は「””」(ダブルクォーテーション)で文字を囲う必要があるということです。
入力を忘れた場合は、下図のように「#NAME?」が表示されます。
最後に
隠れたエクセル関数のDATEDIF関数について紹介しました。
実年齢の計算や期間の計算に役立つ関数です。
隠れた関数は他のもありますので、あわせて読んでおくと面白いですよ。