Excel(エクセル)で年齢を計算する時は、引き算ではなく「DATEDIF関数」を使います。
仕事で社員名簿や会員名簿などを作成する時の年齢を計算する際に、DATEDIF関数を使うと、簡単に現在の日付から生年月日の2つの数値(シリアル値)の差を自動で計算することができます。
TODAY関数も活用することで、常に日付が更新され、2つの期間の差を計算することが可能なので、おすすめです。
今回の記事では、セルに入力した現在の日付を使って計算する方法と、TODAY関数と組み合わせて計算する方法の2つの使い方を紹介します。
ぜひ参考になさってください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
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関数は、Excelで公式にサポートされていないため、関数候補に出てきません。
そのため、引数のヒントの表示も出ませんし、ダイアログボックスを使って入力することもできないため、すべて手動で入力する必要があります。
■単位にはダブルクォーテーションが必須
引数「単位」では、求めたい年数や月数などを指定することができますが、入力の際には必ず単位となるアルファベットをダブルクォーテーションで囲む必要があります。
ダブルクォーテーションを入力し忘れるとエラーが出てしまうため注意が必要です。
DATEDIF関数の入力方法
下記の例のように、終了日となる新しい日付がセルに入力されている場合です。
①「=DATEDIF( 」と入力します。
②生年月日のセルをクリックします
③半角カンマを入力して引数を区切ります。
④現在の日付が入力されたセルをクリックします。
⑤「F4」キーを押してセルを固定します。
⑥半角カンマを入力して引数を区切ります。
⑦満年齢の単位「"Y"」と入力し、「Enter」キーを押して確定します。
これで、基準となる日付から年齢が自動で計算して表示することができました。
⑧フィルハンドルを使って下のセルに数式をコピーします。
これで、全員分の年齢が表示されました。
TODAY関数を組み合わせた計算方法
先ほどの例では、セル【D1】に本日の日付が入力されていましたが、今回の例では、基準となる日付が入力されているセルがありません。
このような形で資料を作成したい場合は、DATEDIF関数の中にTODAY関数を組み合わせることで、年齢を計算することができます。
2つ目の引数に「TODAY()」を入れる
入力方法は先ほどと同じです。
- 「=DATEDIF( 」と入力する
- 生年月日のセルをクリックする
- 半角カンマを入力する
- 「TODAY()」と入力する
- 半角カンマを入力する
- 単位「"Y"」を入力して確定する
ポイントは2つ目の引数に「TODAY関数」を入れることです。
「終了日(新しい日付)」の引数にTODAY関数を入れることで、セルに今日の日付を入れていなくても、常にエクセルを開いた日を基準にした年齢の計算を自動で行ってくれます。
1人目の年齢が表示されたら、こちらも先ほどと同様に下のセルに数式をコピーすれば、全員分の年齢を求めることができます。
【応用】〇歳〇ヶ月で年齢を計算する
年齢や社歴など、「年」単位だけではなく、「〇ヶ月」も一緒に表示したい場合があると思います。
その場合は、
- 「&」を使って表示する方法
- CONCAT関数を使って表示する方法
この2つの方法があります。
「&」を使って表示する方法
今回の例では、現在の日付から勤続年数を○年○ヶ月となるように表示させます。
今回の方法では、
- DATEDIF関数
- &
- ダブルクォーテーションで囲んだ文字列
この3つを組み合わせます。
セル【F4】に「=DATEDIF(E4,$E$2,"Y")&"年"&DATEDIF(E4,$E$2,"YM")&"ヶ月"」と入力することで、○年○ヶ月の表示をすることができます。
- 「DATEDIF(E4,$E$2,"Y")」→○年を求める
- 「&」→前後の文字を繋ぐ役割
- 「"年"」→ダブルクォーテーションで囲むと文字列が挿入される
- 「DATEDIF(E4,$E$2,"YM")」→○ヶ月を求める
- 「&」→前後の文字を繋ぐ役割
- 「"ヶ月"」ダブルクォーテーションで囲むと文字列が挿入される
このようになります。
DATEDIF関数で表示した結果に「年」や「ヶ月」という文字列を「&」を使って結合させると、○年○ヶ月という結果を表示することができます。
CONCAT関数を使って表示する方法
CONCAT関数で、DATEDIF関数の結果と文字列を結合させ、○年○ヶ月と表示しましょう。
入力する内容は、以下の通りです。
詳しい入力方法は、下記を参考になさってください。
まず、CONCAT関数を挿入し、数式バーの左側にある「fx」をクリックします。
ダイアログボックスの入力欄に、下記のように入力しましょう。
- テキスト1には、DATEDIF関数で「年単位」の計算を入力します。
- テキスト2は、年齢の場合は「歳」、社歴などは「年」を入力してください。
- テキスト3は、DATEDIF関数で「月単位」の計算を入力します。
- テキスト4には「ヶ月」などの文字列の単位を入力します。
このような、応用の入力方法を知っておくと、様々な計算結果の表示に役立ちますね。
DATEDIF関数が使えない?
DATE関数は、生年月日や入社年月日などの過去の日付から、指定した日付あるいは本日までの経過日数を求めることができる関数です。
しかし、DATEDIF関数を使おうとしたとき、関数の挿入やサジェストに現れない…とお悩みの方も多いです。
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関数で計算した結果、4年分ズレている…という場合は、オプションから設定を変更することができます。
エクセルのデフォルト設定では、1900年から計算をされるようになっているため、結果が合わないという場合があります。
エクセルの「オプション」→「詳細設定」→「1904年から計算する」のチェックマークでこの4年分の差を調整することができます。
しかし、そもそも公式では、「既定では、Microsoft Excel for Windows では 1900 日付システムが使用されます」と記載されているので、この設定の切り替え自体不要であると言えます。
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 年の日付システムの違い
Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?
Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。
そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。
「オンライン」にも対応している「苦手な方専門パソコン教室パレハ」にお任せください。
オンラインというと「動画を見るだけ」とか「オンラインなんてやったことがない」というご不安があるかと思います。
ですが「苦手な方専門のパソコン教室パレハ」の「オンラインレッスン」は、動画ではなく、直接講師に質問できる生レッスンです。
生レッスンでありながらリーズナブルに学べるのが人気の秘密です。
また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。
パソコンが苦手でも、オンラインできる仕組みがあります。
詳細は下記をご覧ください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
パレハ直営校
パレハグループ加盟校
下記はパレハグループ加盟校となります。
料金体制などは異なりますが、パレハが自信をもってご紹介できる教室です。
■ 岩出市にある「キュリオステーション 岩出店」の公式サイトはこちら
■ 愛知県名古屋市緑区にある 「有松パソコン教室」の公式サイトはこちら
■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら
全国の教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校
オンライン形式をご希望の方はこちら
東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Googleミートを使ったオンライン個別レッスンです)をお選びください。
オンラインレッスンは全国対応しています。
講座一覧はこちら
他にも講座は多数ございます。
詳しくは下記をご覧ください。
こちらもご覧ください
Excel(エクセル)|COUNTIF関数で複数条件(ANDやOR)を指定する方法
Excel(エクセル)|VLOOKUPで自動で列番号を取得する方法
Excel(エクセル)でヘッダー・フッター(ページ番号)を作成・編集方法
Excel(エクセル)|テーブルを簡単に解除する方法を徹底解説
Excel(エクセル)|掛け算の入力方法を基本からわかりやすく解説
エクセル|データの並べ替え(基本~応用)複数条件や任意条件の指定方法
Excel(エクセル)でエンター押すと右(横)に行く方法&修正方法|動画付き
エクセルで文字を縦書きにする方法・横書きから変更する手順を解説
PDFをエクセル(Excel)に変換する|初心者でも簡単にできる方法
Excel(エクセル)|COUNTIF関数で特定の文字「以外」を数える方法
Mac(マック)でExcel(エクセル)の代わりのソフトはNumbers(ナンバーズ)
Excel(エクセル)で割り算をする方法|基本から関数を使った方法まで
Excel(エクセル)| エンターを押しても移動しない・きかない時の対処法
Excel(エクセル)の「#NAME?」の意味と対処法|エラーを出さないポイント
Excel(エクセル)|チェックボックス(レ点)の作成や削除方法
Excel(エクセル)|表の作り方の手順を徹底解説|初心者向け
Excel(エクセル)| 折れ線グラフ|後からデータを追加する方法
Excel(エクセル)|「行」と「列」って縦と横どっち?簡単な覚え方
Excel(エクセル)でハイパーリンク (URL)の貼り付けを設定する方法
Excel(エクセル)対処法|数字がE+(1.23E+12)となった時
Excel(エクセル)で絶対値を表示する方法|ABS関数とその他2つの方法
Excel(エクセル) 取り消し線の付け方 | ショートカットも紹介
Excel(エクセル)で行や列を非表示・再表示(解除)する方法を徹底解説
Excel(エクセル)で時間を計算する方法|経過・合計・24h以上の表示
こんな記事も読まれています