プロが教えるわが家の防犯対策術!

どなたかご存知でしたらご教示いただければ幸いです。

一言でうまく説明出来ないので、例を記載させていただきます。
したい事は保有月数を表示させたいのですが、月の途中から保有した場合は一律0.5ヶ月と表示させたいのです。

2008年5月14日~2008年8月26日   の場合は3.5ヶ月
2008年7月4日~2008年8月31日    の場合は1.5ヶ月
2008年7年6日~2008年7月29日     の場合は0.5ヶ月

と、月中からスタートした場合は最初の月を一律0.5ヶ月、逆にendはend日が月中でも月末日でもend日を含む月は0.5ではなく1ヶ月とカウントしたいのです。

お手数をおかけいたしますが、
どうぞ宜しくお願い致します。

A 回答 (12件中11~12件)

データが以下のように、なっていたとします。

[開始がA1]
開始        終了      月数
2008年5月14日2008年8月26日3.5
2008年7月4日2008年8月31日1.5
2008年7月6日2008年7月29日0.5
2008年7月1日2008年7月29日1.0

1.日付の表示は文字なっていますが、実データは 2008/5/14のように
  入力するものとします。

2.月数の列の書式設定の表示形式は、数値で、小数点以下の桁数は1
  と設定します。

月数の下のセルC2に以下の計算式をコピーしてから、計算式を下に
ドラッグしてコピーします。

=IF(A2*B2=0,"",IF(DAY(A2)=1,MONTH(B2)-MONTH(A2)+1,MONTH(B2)-MONTH(A2)+0.5))

計算がおかしかったら、連絡をお願いします。
    • good
    • 0
この回答へのお礼

ありがとうございます。

試してみたのですが、2.5となるべきところ、1とでてしまいます。

試した日程は

start dateが2008/7/23  で  End dateが2008/9/1  です。


どうぞ宜しくお願い致します。

お礼日時:2008/07/28 13:52

例えば、スタート日がB2セル、エンド日がC2セルに入っているとして、以下の数式をD2などに入れてあげればいいかと思います。



 =IF(DAY(B2)=1,DATEDIF(DATE(YEAR(B2),MONTH(B2),1),DATE(YEAR(C2),MONTH(C2)+1,1),"m"),DATEDIF(B2,DATE(YEAR(C2),MONTH(C2)+1,1)-1,"m"))&IF(DAY(B2)=1,".0ヶ月",".5ヶ月")

仕組みは式を見れば読みとってもらえると思いますが・・・。
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみたのですが、本来2.5ヶ月になる場合は0.5ヶ月となってしまうのですが、残りの2ヶ月も含められたら嬉しいのですが、そんな関数はありますでしょうか?すみません。。。

お礼日時:2008/07/28 12:43

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