- ベストアンサー
エクセル関数で期間を求める方法について
エクセル関数で期間を何年何ヶ月と1個のセルに求める方法が過去の質問の回答で A1にスタート(開始日) B1にエンド(終了日) C1セルに =DATEDIF(A1,B1,"Y")&"年" & DATEDIF(A1,B1,"YM") & "月" カレンダの応答日主義で1ヶ月を数える計算がありました。 これとは別に何年何ヶ月の月計算を属した日から属した日までの月数 (例)開始日2005年3月31日~終了日2005年4月1日の場合2ヶ月で計算させる方法を A1にスタート(開始日) B1にエンド(終了日) C1セルに 何と入れたら良いかどなたか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
みたび2番です。 補足いただいた内容(私が理解できた)どおりですと、またまた長いですが答えだけはこれで出るかなと。 計算の大枠はこれで合ってると思うのですが・・・ 細かいところでご不満な点が有れば、またご指摘下さい。 =JIS(TEXT(INT((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1)/12),"#0"))&"年 "&JIS(TEXT(MOD((DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1),12),"#0"))&"ヶ月" しかし、自分で言うのも変ですが、なんとかもっと短い式にならんもんかな・・・
その他の回答 (3)
- kenta58e2
- ベストアンサー率74% (2483/3311)
ふたたび2番です。 あれ、うまくいきませんでしたか。 私が質問者のされたいことをうまく理解できていないようです。 私は a年b月c日~A年B月C日について、(日は考えず) a年b月を1としてA年B月まで月数を指折り数えて 何ヶ月になるか・・・ という意味だと思っていました。 もしよろしかったら、具体的に a年b月c月からA年B月C日までならこの答え という事例も交えて、どういう計算か解説いただけるとありがたいですが・・・ あと、「何年何月」の表示自体は可能ですが、私のやり方の式では月数しか計算しませんので、ちょいと一工夫必要です。大元の計算の仕方がわかれば、やりやすい方法も合わせてご紹介できそうな気がします。
補足
再度のご回答大変有難うございます。 おっしゃられるように経過年月が何年何月でなく合計月数で現れていました。実は年金者連盟の記念誌作りに関わっておりますが役員就退任一覧表に就任年月日、退任年月日、在任期間等をエクセルで作成しています。そこで在任期間ですが表彰規程とのからみから就任の日の属した月から退任の属した月までを○年○ヶ月で1つのセル内に表示できればと考えています。高齢者で初心者ですので説明も理解しにくいかもしれませんがよろしくお願いします。
- kenta58e2
- ベストアンサー率74% (2483/3311)
=DATEDIF(DATE(YEAR(A1),MONTH(A1),1),DATE(YEAR(B1),MONTH(B1),1),"m")+1 なんかめっちゃ長ったらしくなりました。 考え方は 1.計算しやすい様に開始日も終了日も「その月の1日」にしてしまう。 2.1.に基づいてDATEDIF()関数で経過月を出せば、本来の開始日・終了日にかかわらず、属している月の間の満経過月が出る。 3.今回は、開始月自身もカウントに入れる必要があるので、2.の結果に1を足す。 です。 なんか、もっと気の利いた方法がありそうですけど・・・
お礼
早速のご回答有難うございます。試していました。2005/3/31~2005/4/1までの場合、2と出ますがほかの年月日を入れると正しい年月が出ないようです。初心者につき書式等の設定が悪いのかも知れませんが。そてから、セルに○年○月と出るといいのですが
=DATEDIF($A$2,$A$5,"m")&"月" でどうですか。
お礼
早速のご回答有難うございます。試してみます。
お礼
大変親切なご回答有難うございます。これで事務が迅速、確実に出来ます。有難うございました。