エクセル・VBA

Excel(エクセル) | DATEDIF関数が使えない時の対処法と使い方|年齢や社歴計算方法

2024年1月16日

ExcelでDATEDIF関数を使おうと思ったのに使えない。。。

こちらの記事では、DATEDIF関数が使えない時の対処法について紹介しています。

DATEDIF関数の使い方については、下記の記事を参考になさってください。

DATEDIF関数の使い方|年齢や社歴を計算する方法


Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

DATEDIF関数が使えない?

DATE関数は、生年月日や入社年月日などの過去の日付から、指定した日付あるいは本日までの経過日数を求めることができる関数です。

しかし、DATEDIF関数を使おうとしたとき、関数の挿入やサジェストに現れない…とお悩みの方も多いです。

DATEDIF関数は、エクセルで公式にサポートされていない関数のため、候補には出てきません。

しかし、手入力で入力をすれば使うことができる関数なので、候補に出てこなくて使えない…とお悩みの方は、手入力で関数を入力してみてください。

DATEDIF関数の構文

=DATEDIF(開始日 , 終了日 , 単位)

開始日古い日付
終了日新しい日付
単位単位の種類は6つあり、いずれかを指定します

単位とは?

単位戻り値
"Y"期間内の満年数を求めます
"M"期間内の満月数を求めます
"D"期間内の日数を求めます
"YM"開始日から終了日までの月数(1年未満の月数)を求めます
※日付の年数・日数は無視されます
"YD"開始日から終了日までの日数(1年未満の日数)を求めます
※日付の年数は無視されます
"MD"開始日から終了日までの日数(1ヵ月未満の日数)を求めます
※日付の年数・月数は無視されます

6つの単位の中から、目的に合った単位を選択します。

DATEDIF関数の使い方については、下記の記事を参考になさってください。

DATEDIF関数の使い方|年齢や社歴を計算する方法

関数の結果がおかしい

DATEDIF関数で計算した結果、4年分ズレている…という場合は、オプションから設定を変更することができます。

エクセルのデフォルト設定では、1900年から計算をされるようになっているため、結果が合わないという場合があります。

DATEDIF使えない

エクセルの「オプション」→「詳細設定」→「1904年から計算する」のチェックマークでこの4年分の差を調整することができます。

しかし、そもそも公式では、「既定では、Microsoft Excel for Windows では 1900 日付システムが使用されます」と記載されているので、この設定の切り替え自体不要であると言えます。


Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

1900年と1904年2つのシステムがある

1900年と1904年であることで何が変わるのかというと、ここに4年分の差が生じています。

エクセルでは、日付を「シリアル値」で管理しています。

このシリアル値は「1」から数え始めますが、1900年1月1日を「1」として数え始める1900年システムと、1904年1月1日を「1」として数え始める1904年システムで4年分の差が生じるというわけです。

1900年と1904年の日付システムの違いについては、Microsoftの公式サイトでも解説がされていますので、参考になさってください。

Microsoft公式記事→Excel の 1900 年と 1904 年の日付システムの違い

DATEDIF関数が使えない他の原因

関数名の入力ミス

DATEDIF関数は、エクセルで公式サポートされていません。

なので、関数の挿入からもサジェストにも表示されないため、自分で入力する必要があります。

正しい関数名は「DATEDIF」ですが、「=DATEDIF」と入力するところを「=DATEIF」と入力している人も少なくありません。

関数の名前を間違えると「#NAME?」エラーが表示されます。

自分が入力した関数名が正しいか確認しましょう。

単位の入力ミス

DATEDIF関数では、3つ目の引数である「単位」をダブルクォーテーションで囲まなければなりません。

「"Y"」と入力するべき単位を「Y」とだけ入力してしまうと、「#NAME?」エラーが表示されます。

関数名が合っているのに、エラーが表示されている場合は、引数が合っているかの確認が必要です。

引数の順番は合っているか

DATEDIF関数の引数は、「古い日付、新しい日付、単位」の順番です。

日付の順番を「新しい日付、古い日付」と逆にしている場合、「#NUM!」エラーが表示されます。

関数名が合っているのに、エラーが表示されている場合は、引数の順番が正しいかを確認しましょう。

日付の入力は合っているか

日付の引数をセル参照で行う場合は、エラーは起こりにくいですが、引数に直接日付を入力する場合は注意が必要です。

引数に直接日付を入力する場合は「2000/1/1」ではなく「"2000/1/1"」とダブルクォーテーションで囲んで入力する必要があります。

引数で入力する日付の順番は合っているが、正しく結果が表示されない場合は、日付の入力が合っているのか確認しましょう。

1900年より前を指定していないか

DATEDIF関数で計算する場合、1900年1月1日のシリアル値を「1」として、それを基準に日数の差を求めます。

そのため、1900年1月1日よりも古い日付を使用して計算することはできので「#VALUE!」エラーが表示されます。

DATEDIF関数を詳しく解説します

DATEDIF関数

DATEDIF(デイトディフ)関数は、開始日(古い日付)から終了日(新しい日付)、この2つの日付の間の経過年数、月数、日数を求めることができます。

開始日から終了日までの差を求めるために、日付の単位となっているシリアル値(数値)を使用します。

ちなみに、シリアル値とは、1900年 1月 1日を「1」として、そこから何日経過しているかを表す数値です。

1900年1月1日から50000日目だと「2036年11月21日」という感じです。

このシリアル値を使用して差分の計算をします。

関数が苦手という方も、シリアル値については深く考えずに、開始日や終了日の選択、表す単位を設定できれば、使いやすい関数となっています。

満年齢、社歴や勤続年数、在学年数などの期間を求めたい時に、DATEDIF関数を活用すれば、年単位や〇年〇ヶ月などで結果を返すことができるので、資料や社員名簿などの表の作成にも役立つ便利な関数です。

DATEDIFの構文はこちら

=DATEDIF(開始日 , 終了日 , 単位)

開始日古い日付
終了日新しい日付
単位単位の種類は6つあり、いずれかを指定します

このような感じになります。

開始日と終了日の2つのセルを選択して、どのように表したいかという単位を指定するだけで簡単に差分を求めることができるのでビジネスでも役立ちます。

条件や範囲といった難しい物もないので、習得しやすい関数です。

単位とは?

単位戻り値
"Y"期間内の満年数を求めます
"M"期間内の満月数を求めます
"D"期間内の日数を求めます
"YM"開始日から終了日までの月数(1年未満の月数)を求めます
※日付の年数・日数は無視されます
"YD"開始日から終了日までの日数(1年未満の日数)を求めます
※日付の年数は無視されます
"MD"開始日から終了日までの日数(1ヵ月未満の日数)を求めます
※日付の年数・月数は無視されます

6つの単位の中から、目的に合った単位を選択します。

実際に関数を挿入して、どのような手順で使うのか解説しますね。

DATEDIF関数 使い方の手順

終了日の日付が入力されたセルがある場合

DATEDIF関数は、エクセルでサポートされていないため、全て手入力する必要があります。

=DATEDIF(開始日 , 終了日 , 単位)

この構文に当てはめて入力します。

まず、使用するセルを確認しましょう。

DATEDIF関数の使い方

上記の例で、年齢や社歴を求める際は、開始日が生年月日や入社年月日が入力されたセルになります。

終了日は現在の日付が入力されているセル【E2】になります。

各引数に、このセルを当てはめます。

 

①「=datedif(C4,$E$2,"Y")」となるように入力をする

DATEDIF関数の使い方

セル【D4】に「=datedif(C4,$E$2,"Y")」となるように入力します。
この時、DATEDIFは小文字でも大文字でも構いません。

関数の結果を下のセルにもコピーするので、終了日(新しい日付)の本日の日付が入力されたセル【E2】は絶対参照で固定します。
※セル【E2】をクリックした直後に、キーボードの「F4」キーを1回押すと、固定ができます。

今回は、満年齢を求めるため、単位は「"Y"」を指定します。

すべての入力が出来たら、「Enter」キーを押して確定します。

 

②結果を下のセルにコピーする

DATEDIF関数の使い方

セル【D4】の結果をオートフィル機能を使って、下のセルにもコピーします。

 

これですべてのセルに年齢を表示することができました。

DATEDIF関数の使い方

 

終了日が入力されたセルが無い場合

DATEDIF関数の使い方

今回の例では、終了日の日付が入力されたセルが無い場合のDATEDIF関数の使い方についてです。

今日の日付が入力されているセルが無い場合は、終了日に「TODAY関数」を使用することで、年齢や社歴が自動で計算されます。

 

①「=DATEDIF(E4,TODAY(),"Y")」となるように入力する

DATEDIF関数の使い方

セル【F4】に「=DATEDIF(E4,TODAY(),"Y")」となるように入力します。
引数「終了日」に「TODAY()」と入力することがポイントです。

 

②結果を下のセルにコピーする

DATEDIF関数の使い方

セル【F4】の結果をオートフィル機能を使って、下のセルにもコピーします。

 

これですべてのセルに年齢を表示することができました。

DATEDIF関数の使い方

今回の例では、本日の日付を基準に計算をするために「TODAY関数」を使用しましたが、もし、日付を固定しておきたい場合は引数「終了日」にダブルクォーテーションで囲んで年月日を入力することも可能です。

[例]:=DATEDIF(E4,"2024/7/18","Y")

このようになります。ダブルクォーテーションで囲まずに入力するとエラーが表示されるので注意しましょう。

 

【応用】○年○ヶ月を出す方法

DATEDIF関数応用

年齢や社歴の計算をする際に、上記の例のように、○年○ヶ月といった形式で計算結果を表示したい場合は、 使用する関数はDATEDIF関数のみで表示することができますが、少しコツが必要です。

 

○年○ヶ月の表示に必要なもの

  • DATEDIF関数
  • ダブルクォーテーションで囲んだ文字列

この3つを組み合わせます。

まずは、下記を確認しましょう。

DATEDIF関数の使い方

セル【F4】に入力されている数式は「=DATEDIF(E4,$E$2,"Y")&"年"&DATEDIF(E4,$E$2,"YM")&"ヶ月"」となります。

  • 「DATEDIF(E4,$E$2,"Y")」→○年を求める
  • 「&」→前後の文字を繋ぐ役割
  • 「"年"」→ダブルクォーテーションで囲むと文字列が挿入される
  • 「DATEDIF(E4,$E$2,"YM")」→○ヶ月を求める
  • 「&」→前後の文字を繋ぐ役割
  • 「"ヶ月"」ダブルクォーテーションで囲むと文字列が挿入される

このようになります。

DATEDIF関数で表示した結果に「年」や「ヶ月」という文字列を「&」を使って結合させると、○年○ヶ月という結果を表示することができます。

DATEDIF関数のまとめ

Excelの「DATEDIF」関数は、2つの日付の差を求める際に便利な関数です。

この関数は、指定された開始日と終了日の間の年月日を「年」「月」「日」単位で返します。

関数の基本構文は DATEDIF(start_date, end_date, unit) で、start_date と end_date には日付を入力し、unit には差を求める単位("Y":年、"M":月、"D":日)を指定します。例えば、DATEDIF(A1, B1, "Y") は、セルA1とB1の日付の差を年単位で返します。

一方、関数を使用する際に注意すべき点は、start_date がend_date よりも後の場合、エラーが表示されることです。

これは、日付の順序が重要であるためです。また、月や日数の差を求める際、計算の結果が整数ではない場合、結果が丸められることもあります。

さらに、VBAを用いてDATEDIF関数を組み込むこともでき、複数の列にまたがる日付差を計算したり、検索結果として表示することも可能です。

ダウンロードしたExcelのテキストファイルにこの関数を活用することで、データ管理や年齢の計算、期間の算出が効率的に行えます。

必要に応じて、条件付き書式やエラー処理を追加し、より正確な計算結果を得ることができます。

Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?

Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。

そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。

「オンライン」にも対応している「苦手な方専門パソコン教室パレハ」にお任せください。

オンラインというと「動画を見るだけ」とか「オンラインなんてやったことがない」というご不安があるかと思います。

ですが「苦手な方専門のパソコン教室パレハ」の「オンラインレッスン」は、動画ではなく、直接講師に質問できる生レッスンです。

生レッスンでありながらリーズナブルに学べるのが人気の秘密です。

また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。

パソコンが苦手でも、オンラインできる仕組みがあります。

詳細は下記をご覧ください。

パソコンが苦手な人向けエクセル講座

パソコンが苦手な方向けエクセル講座の詳細はコチラ

Excel関数講座

パソコンが苦手な方向けエクセル関数講座の詳細はコチラ

Excel関数実践講座

パソコンが苦手な方向けExcel関数実践講座の詳細はコチラ

Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。

「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。

Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。

良かったら下記からご登録ください。

ライン登録プレゼント

無料LINE登録はこちら

ココがおすすめ

パソコン教室パレハ直営校

パソコン教室パレハ直営校

■ パソコン教室パレハ広島市安佐南区緑井校

■ パソコン教室パレハ広島市中区本通り校

■ パソコン教室パレハ 静岡市駿河区南町校

ココがおすすめ

パソコン教室パレハグループ加盟校

自信をもってご紹介できるパソコン教室

下記はパレハグループ加盟校となります。

料金体制などは異なりますが、パソコン教室パレハが自信をもってご紹介できるパソコン教室です。

■ 岩出市のパソコン教室キュリオステーション

■ 岩出市にあるパソコン教室 「キュリオステーション 岩出店」の公式サイトはこちら

■ 名古屋市緑区にある有松パソコン教室

■ 愛知県名古屋市緑区にあるパソコン教室 「有松パソコン教室」の公式サイトはこちら

■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)

■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら

全国加盟校一覧

全国のパソコン教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校

ココがおすすめ

オンライン形式をご希望の方はこちら

オンライン形式をご希望の方はこちら

東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Zoomを使ったオンライン個別レッスンです)をお選びください。

オンラインパソコン教室|オンラインなのに生レッスン

ココがおすすめ

パソコン教室講座一覧はこちら

パソコン教室講座一覧はこちら

他にもパソコンの講座は多数ございます。

詳しくは下記をご覧ください。

パソコン教室の受講コース案内(講座のご紹介)

メールの画像

メールはこちら

ラインの画像

LINEはこちら

電話の画像

お電話はこちら