• ベストアンサー

Excel関数で誕生日から年齢を表す式について

Excel関数で、1つのセルにある個人の誕生年月日が入力されているとします。 そのセルに対応する別のセル上に、常にエクセルを読み込んだ日の時点の正確な 年齢を表すことができるIF関数というものが存在するでしょうか。 あると非常に便利なので、どなたかご存知の方は教えてくだい(__)

質問者が選んだベストアンサー

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.5

No.1です。 No.3さんの方法は、誕生日当日に年齢が正確に表示されません。 (例えば生年月日に昨年の今日の日付を入れると0を返します) =TODAY()-誕生日のセル+1 とすればいいと思います。 一応確認ですが、私がNo.1に書いた方法(や、他の方が書かれている方法)では、2/29生まれの人は閏年以外の年は3/1に年齢が一つ増える計算になります。 それで問題ありませんか? 仮に2/29生まれの人は閏年以外の年は2/28に年齢を一つ増やしたい場合 A1セルに生年月日が入っているとして =DATEDIF(A1,TODAY()+IF(AND(DAY(DATE(YEAR(TODAY()),2,29))<>29,MONTH(A1)*100+DAY(A1)=229),1,0),"y") とすればいいと思います。 今年が閏年でなく、かつ誕生日が2/29の場合、今日の日付+1日と誕生日の差分を計算します。 それ以外の場合は今日の日付と誕生日の差分を計算します。

no1toshikun
質問者

お礼

No.1を含めて懇切に解説をいただきありがとうございました。 大変参考になりました。

その他の回答 (4)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

今日の日付(PCに表示されている日付)での年齢なら =DATEDIF(誕生日のセル,TODAY(),"Y") で表示出来ますが。。。

no1toshikun
質問者

お礼

お忙しい時間をさいてアドバイスいただきありがとうございました。

回答No.3

IFにこだわる特別な理由があるのかもしれませんが、念のため最も分かりやすく楽で正しい方法を。 「別のセル」の数式を「=TODAY()-誕生日のセル」とし、「表示形式」>「ユーザー定義」で「yy」とするだけ。

no1toshikun
質問者

お礼

シンプルな方法をご解説下さりありがとうございました。 とてもわかりよく参考にさせていただきました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

A1セルに、ある個人の誕生年月日が入力されているとして、 =DATEDIF(A1,IF(TODAY()-INT(TODAY())<A1-INT(A1),TODAY()-1,TODAY()),"y")&"歳"&DATEDIF(A1,IF(TODAY()-INT(TODAY())<A1-INT(A1),TODAY()-1,TODAY()),"ym")&"ヶ月"&DATEDIF(A1,IF(TODAY()-INT(TODAY())<A1-INT(A1),TODAY()-1,TODAY()),"md")&"日"

no1toshikun
質問者

お礼

丁寧かつ詳細にアドバイスいただき大変さんこうになりました。 関数の凄さと楽しさまでを改めて知りました。 ありがとうございました。

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

生年月日が入っているセルがA1だとすると =DATEDIF(A1,TODAY(),"y")

関連するQ&A

  • 誕生日の関数??教えてください

    エクセルで作業中です・・・誕生日から年齢を計算する関数を設定しましたが・・・ 誕生日のセルが空白になると、年齢が表示されるセルに不要な数字が表示されます。誕生日を入力するセルが空白時に年齢も空白にするにはどうすればいいのでしょうか?お教えて下さい<(_ _)>お願いします。

  • EXCELで年令計算するDATEDIF関数

    EXCELで年令計算する関数DATEDIFを使って、生年月日の記入をすると年令を表示しますが、 記入がないと 111才 になってしまいます。生年月日の記入がないときには 0才 にしたいのですが、わかりません。   たとえば、生年月日のセルを         B12         基準日(関数TODAY()を使用 )を E3         年令表示セルを           B11 にして、セルB11に次の関数を入力します。     =DATEDIF(B12,E3,"Y") & "才" すると、生年月日がセルB12に入っていれば、年令を表示しますが、生年月日の記入がない(空欄)と111才と表示されてしまいます。空欄では0才などにしたいのですが、ご教示をお願いします。 セルの西暦・和暦やTODAY関数が影響するのかわかりません。

  • エクセルで生年月日から現在の年齢を計算する関数はないですか?

    エクセル95か2000でかまわないのですが、生年月日から現在の年齢を自動的に計算する関数は何かないでしょうか? たとえば、あるセルに生年月日を入力しておきます。行に2002年10月、11月、12月・・・と入力しておき、それぞれ2002年10月、11月、12月の年齢が、生年月日から計算されて参照されるような関数です。

  • Excelの年齢関数を教えて下さい

    Lotus 1-2-3には @DATEDIF(@DATE(“y”,”m”,”d”),@NOW,”y”)という関数があって、@DATEに生年月日を入力すると現在の年齢がそのセルに表示され、重宝しています。 Excelを使う機会もあって、同じような関数を探しているのですが、分かりません。どなたか教えていただけませんか。

  • エクセル関数式

    エクセル関数式で、セルA1に生年月日を入力、セルD1に25才時の年月日、セルE1に30才時の年月日を表示させるにはどうすれば良いでしょうか。

  • Excel2003の関数のネストの入力方法

    Excel2007のテキストでExcelを学んでしまったので、Excel2003の使い方が分からないので質問させて頂きます。 例えば、セルA1に入力されているVLOOKUP関数にエラーの場合、空白にするIF関数をネストさせたいのですが、Excel2007のテキストでは、関数をネストさせるのに、数式バーの左端の関数ボックスの▼をクリックし、関数を選択して、関数の引数ダイアログボックスでネストすることができたのに、Excel2003では、同じ操作をするとVLOOKUP関数が消えてしまい、IF関数しか入力できないのですが、Excel2003では、ネストさせる関数は、直接入力しないといけないのでしょうか?

  • EXCEL2003で、年齢を出す方法

    Excel2003を使用しています。誕生日を入力し、現在の年齢を出したいと思っているのですが、ネットで検索すると「datedif関数」を使用すればよいと書いてありますが、この関数が見当たらないのですが・・・。なくなってしまったんでしょうか?!もし、なくなったとすれば、最も簡単に年齢を出すには、どのようにすればいいでしょうか?

  • Excel2000で年齢計算したいのですが

    WindowsMeでExcel2000を使用しているものです。基準日と生年月日を入れると満年齢が自動計算されるようにしたいのですが、うまくDATEDIF関数が入力できず困っています。どなたかわかりやすく教えて頂けませんか?

  • Excelの年齢関数について

    教えてください。 Excelの機能であるセルに生年月日(1975/04/25)が 入力されているとします。現在の日付を見て、何歳かを表示させたいのですが、関数を教えてください。 よろしくお願いします。

  • エクセル関数(現時点もしくは死亡時の年齢を表示させる)

    エクセルの関数で、出生年月日と死亡年月日(健在者は、契約年月日)は入力済みです。 別の列に死亡(契約)年月日から出生年月日をひいて、契約(もしくは現時点)時の年齢や死亡時の年齢を表示させる関数を教えてください。 また、明治38年以降が、自動的に計算されて西暦になおせますが、それ以前(文化や弘化など)も西暦になおせる関数があればおしえてください。 セルC4に死亡年月日(健在者は、契約年月日かまだ未契約の方はTODAY) セルC3に出生年月日(死亡・健在問わず) 印刷範囲外で、セルJ4に死亡年月日の西暦表示 同様にセルJ3に出生年月日の西暦表示 セルK3とK4をあらかじめ結合させておいて、そのセルに年齢を表示させたいと思います。 アドバイスをお願いします。

専門家に質問してみよう