- ベストアンサー
エクセルで年齢の合計の関数を
こんにちは。 下記のデータを作成していますが、年齢を出すのは分かりましたが、 年齢の合計の出し方が分かりません。 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
- みんなの回答 (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)&"ヶ月"
その他の回答 (3)
- zap35
- ベストアンサー率44% (1383/3079)
補助列を使わないのであれば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関数で年と月を求めます
補足
=INT(SUM(DATEDIF(B2:B3,C2:C3,"M"))/12)&"歳"&MOD(SUM(DATEDIF(B2:B3,C2:C3,"M")),12)&"カ月" を入れたところ答えは #VALUE! となりました。 どこかおかしなところがあるのでしょうか?
- bin-chan
- ベストアンサー率33% (1403/4213)
B2・B3に式[=Today()]を設定して、セルC2/C3の式中のToday()をB2/B3にしておく方がわかりやすいかも。 現在は列Cで求めている「年齢」が「文字列」だから計算できてないですね。 列Cに「年」、列Dに「月」を求め、列EでText関数で整形表示するとか。 27歳10ヵ月と35歳8ヵ月の合計としてご希望はどのような値? 62?それとも63年6ヶ月?62年18ヶ月? それによると思います。
補足
お返事ありがとうございます。 年齢の合計は 63歳6ヶ月 と表示させたいのですが。
- bin-chan
- ベストアンサー率33% (1403/4213)
セルC2とセルC3にはどのような式を設定されているのか、教えてください。書式もね。
補足
お返事ありがとうございます。 C2の式は =DATEDIF(A2,TODAY(),"Y")&"年"&DATEDIF(A2,TODAY(),"YM")&"ヵ月" と設定しています。 C3もオートフィルでコピーしました。
お礼
sumproduct関数を使ったらできました。 ありがとうございます(感謝)。 嬉しいです。