• ベストアンサー

エクセルで年齢の合計の関数を

こんにちは。 下記のデータを作成していますが、年齢を出すのは分かりましたが、 年齢の合計の出し方が分かりません。 C4=C2+C3では0になってしまいます。出し方を教えてください。     A列      B列       C列 1    生年月日   今日の日付  年齢 2   1980/10/11  2008/8/27   27歳10ヵ月 3   1972/11/27  2008/8/27   35歳8ヵ月 4            年齢の合計   0

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

  • ベストアンサー
回答No.4

zap35さんの回答の「Shift+Ctrl+Enterで配列数式にします。」に 注意して下さい。 配列数式が面倒くさくて嫌なら、sum関数の代わりにsumproduct関数 を使います。 =int(sumproduct(datedif(B2:B3,C2:C3,"M"))/12)&"歳"& mod(sumproduct(datedif(B2:B3,C2:C3,"M")),12)&"ヶ月"

fukuzyusou
質問者

お礼

sumproduct関数を使ったらできました。 ありがとうございます(感謝)。 嬉しいです。

その他の回答 (3)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

補助列を使わないのであればC4セルの式は  =INT(SUM(DATEDIF(B2:B3,C2:C3,"M"))/12)&"歳"&MOD(SUM(DATEDIF(B2:B3,C2:C3,"M")),12)&"カ月" を入力してShift+Ctrl+Enterで配列数式にします。すると数式バーで{ 式 }のように表示されます (ただし本日8/27に実行すると63歳7カ月になってしまいますが…) 補助セルを用いていいなら2行目のあいている列に  =DATEDIF(B2,C2,"M") を入力すれば満月数を計算できますから、これをSUM関数で合計してからINT関数とMOD関数で年と月を求めます

fukuzyusou
質問者

補足

=INT(SUM(DATEDIF(B2:B3,C2:C3,"M"))/12)&"歳"&MOD(SUM(DATEDIF(B2:B3,C2:C3,"M")),12)&"カ月" を入れたところ答えは #VALUE! となりました。 どこかおかしなところがあるのでしょうか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

B2・B3に式[=Today()]を設定して、セルC2/C3の式中のToday()をB2/B3にしておく方がわかりやすいかも。 現在は列Cで求めている「年齢」が「文字列」だから計算できてないですね。 列Cに「年」、列Dに「月」を求め、列EでText関数で整形表示するとか。 27歳10ヵ月と35歳8ヵ月の合計としてご希望はどのような値? 62?それとも63年6ヶ月?62年18ヶ月? それによると思います。

fukuzyusou
質問者

補足

お返事ありがとうございます。 年齢の合計は 63歳6ヶ月 と表示させたいのですが。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

セルC2とセルC3にはどのような式を設定されているのか、教えてください。書式もね。

fukuzyusou
質問者

補足

お返事ありがとうございます。 C2の式は =DATEDIF(A2,TODAY(),"Y")&"年"&DATEDIF(A2,TODAY(),"YM")&"ヵ月" と設定しています。 C3もオートフィルでコピーしました。

関連するQ&A