[[20080719224417]] 『期間(月数)を数える数式』(こう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『期間(月数)を数える数式』(こう)

起算日をA、本日をBとし、Aの応当日を基準にBが何ヶ月経過しているか
(必要か)を出したいと思っています。
例えば、Bが2008年7月18日の場合、Aに2008年1月18日〜2月17日と入力すると
「6ヶ月」となり、Aに2008年2月18日〜2008年3月17日が入力されると「5ヶ月」
となります。(Aの応当日と翌日で期間が変わります。)

<例>

@A:2008年1月20日、B:2008年7月19日とすると=6ヶ月
  →BはAの6ヶ月以内にあるので6ヶ月となります。

AA:2008年1月19日、B:2008年7月19日とすると=6ヶ月
  →BはAの6ヶ月以内にあるので6ヶ月となります。

DA:2008年2月18日、B:2008年7月19日とすると=6ヶ月
  →BはAの6ヶ月以内にあるので6ヶ月となります。(5ヶ月+1日なので5ヶ月にはならない)

BA:2008年1月18日、B:2008年7月19日とすると=7ヶ月
  →BはAの7ヶ月以内にあるので7ヶ月となります。(6ヶ月+1日なので6ヶ月にはならなない)

CA:2007年12月20日、B:2008年7月19日とすると=7ヶ月
  →BはAの7ヶ月以内にあるので7ヶ月となります。

分かりにくい説明で申し訳ありませんが、上記のように算出する数式が
ありましたら教えていただきたく、よろしくお願いいたします。


 C1セル =DATEDIF(A1,B1,"M")+(DAY(A1)<>DAY(B1))   フィルダウン

  行   ____A_____  ____B____  _C_  
   1   2008/1/20   2008/7/19   6  
   2   2008/1/19   2008/7/19   6  
   3   2008/2/18   2008/7/19   6  
   4   2008/1/18   2008/7/19   7  
   5   2007/12/20  2008/7/19   7  

  (半平太)


 DATEDIF関数を使わないバージョン。
=(YEAR(B1)-YEAR(A1))*12+MONTH(B1)-MONTH(A1)+(DAY(B1)>DAY(A1))

 B列の年月を YEAR(B1)*12 + MONTH(B1) 月数に直して
 A列の年月を YEAR(A1)*12 + MONTH(A1) 月数に直して 
 B列の月数 - A列の月数 +(ただし、B列の日付がA列の日付より後だったら +1)

 (HANA)

(半平太)様、(HANA)様

いずれの方法も希望どおりにできました。感激です。
ありがとうございました。
また何かありましたらよろしくお願いいたします。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.