「教えて!ピックアップ」リリース!

Excelで年数の計算をしています。
A1に1997/10/27,B1に2006/3/28,C1に「=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"」を入力して「8年5ヶ月」と表示されます。
今回,D1に年数を小数点以下1桁で表示したいのですが,うまくいきません。計算すると8.4か8.5年だと思うのですが。
計算式を教えてください。
よろしくお願いします。

A 回答 (4件)

こんにちは。


日付間の期間を求めるYEARFRAC関数と
少数以下切り捨てのROUNDDOWN関数の2つを使えばいいかと思います。

=ROUNDDOWN(YEARFRAC(A1,B1),1)&"年"

※officeExcel2007で検証済み
    • good
    • 4
この回答へのお礼

早速計算したところ,「#NAME?」という表示になって
しまいました。
私のソフトが2003で古いせいかも知れません。

回答ありがとうございました。

お礼日時:2009/01/20 09:42

D1: =DATEDIF(A1,B1,"Y")+ROUND(DATEDIF(A1,B1,"YM")/12+DATEDIF(A1,B

1,"MD")/30.4,1)
    • good
    • 2
この回答へのお礼

早速,計算してみたところ,回答者1,2さんとは
違う数値が所々ありましたので,今回は使用しません
でした。

回答ありがとうございました。

お礼日時:2009/01/20 09:40

DATEDIF関数にはバグがあることはご存知ですよね? まあ、YMしか


使わないなら大丈夫だと思いますが、了解はしておいた方が・・・。
http://pc.nikkeibp.co.jp/article/NPC/20070530/27 …

それはともかく、要は12ヶ月が1になればいいんですよね。だったら

=TEXT(DATEDIF(A1,B1,"Y")+DATEDIF(A1,B1,"YM")/12,"0.0")&"年"

って感じで良いんじゃないですか?
    • good
    • 4
この回答へのお礼

早速やってみましたら,数値が出ました。
今回の場合,精密な計算ではなかったので,
DATEDIF関数でも大丈夫でした。

でも,バグがあることは知らなかったです。
(なんで「関数」には入っていないのかなとは
思っていましたが)

回答ありがとうございました。 

お礼日時:2009/01/20 09:39

=DATEDIF(A1,B1,"m")/12


と式を切れて、書式の表示形式を標準か数値にしてみてください。
    • good
    • 4
この回答へのお礼

早速やってみましたら,数値がでてきました。
回答ありがとうございました。

お礼日時:2009/01/20 09:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング