- ベストアンサー
DATEIF関数で経過日数を算出する方法と平均を出す方法
- DATEIF関数を使用して経過日数を算出する際に、同じ日付でも1カ月と算出する方法について説明します。
- DATEIF関数で算出した経過日数の平均を求めるためには、文字列扱いではなく数値として扱う必要があります。具体的な方法について説明します。
- DATEIF関数を使用して経過日数を算出する方法について試行錯誤していますが、うまくいかないため質問しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 (1)○○月12ヶ月と表記されてしまうのを無くすにはどのようにすればよろしいでしょうか? 1年12ヶ月=2年0ヶ月とするのでしょうか?それとも2年ですか? それによって数式が変わります。 ■2年0ヶ月の表示 =(DATEDIF(A1,B1+1,"Y")+(DATEDIF(A1,B1+1,"YM")=11))&"年"&MOD(DATEDIF(A1,B1+1,"YM")+(DATEDIF(A1,B1+1,"MD")>0)),12)&"ヶ月" ■2年の表示 =(DATEDIF(A1,B1+1,"Y")+(DATEDIF(A1,B1+1,"YM")=11))&"年"&TEXT(MOD(DATEDIF(A1,B1+1,"YM")+(DATEDIF(A1,B1+1,"MD")>0)),12),"0ヶ月;;;") (2)平均したものをフィルタをかけても数字が変わらないのですが、どのようにすればよろしいでしょうか? オートフィルタの結果での平均を求めたいのでしょうか? その場合AVERAGE関数は使えません。代わりにSUBTOTAL関数を使います。 フィルタで表示されたセルの平均の場合の集計方法はExcelのバージョンで異なります Excel2000以前は1、Excel2003以降は101です。 AVERAGE(A1:A9) を SUBTOTAL(101,A1:A9) に置き換えてください。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
(1)月を除いた日数"MD"をDATEDIFで求めて0でない場合に+1月 =DATEDIF(A1,B1+1,"Y")&"年"&(DATEDIF(A1,B1+1,"YM")+(DATEDIF(A1,B1+1,"MD")>0))&"ヶ月" (2)元の日付で平均化して年月を出してください。 =DATEDIF(AVRAGE(A1:A9),AVRAGE(B1:B9)+1,"Y")&"年"&(DATEDIF(AVRAGE(A1:A9),AVRAGE(B1:B9)+1,"YM")+(DATEDIF(AVRAGE(A1:A9),AVRAGE(B1:B9)+1,"MD")>0))&"ヶ月"
補足
迅速なご回答ありがとうございました。 もう少しだけ教えて頂きたいのですが、 (1)○○月12ヶ月と表記されてしまうのを無くすにはどのようにすればよろしいでしょうか? (2)平均したものをフィルタをかけても数字が変わらないのですが、どのようにすればよろしいでしょうか? お手数おかけ致します。 よろしくお願い致します。
お礼
本当にありがとうございました。 無事解決し、資料を提出することが出来ました。