• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つの期間の重複する日数(月数)を計算するには?)

2つの期間の重複する日数(月数)を計算する方法

このQ&Aのポイント
  • 2つの期間の重複する日数(月数)を計算する方法について教えてください。
  • あるテーブルに記録された複数の期間と、フォームから指定された期間との重複する日数(月数)を求めたいです。
  • 具体的な例として、フォームで指定された期間とテーブルの期間を比較し、それぞれの品名ごとに重複する日数(月数)を表示したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

終了期間の小さな方-開始期間の大きな方 が、負の値になったら重複無し 0以上の場合は+1した値が重複日数

suika_no1
質問者

お礼

回答ありがとうございます。m(__)m 実は私の書き忘れでACCESS2000に関する質問だったのです。 ACCESSではmin,max関数がちょっと違うので(フィールドの最小、最大を返します) このやり方を参考にして、IF(ACCESSではIIFですが^^)を使って上手く欲しかった結果が 出るようになりました! 本当にありがとうございました。m(__)m ここの「教えて」は久しぶりだったのですが、画像も添付できるようになったのですね。 とても解りやすくて助かりました。^^

その他の回答 (3)

noname#204879
noname#204879
回答No.4

添付図参照 F2: =MAX(B2,F$1) G2: =MIN(C2,G$1) D2: =MAX(0,G2-F2+1)

suika_no1
質問者

お礼

回答ありがとうございます。m(__)m 実は私の書き忘れでACCESS2000に関する質問だったのです。 ACCESSではmin,max関数がちょっと違うので(フィールドの最小、最大を返します) このやり方を参考にして、IF(ACCESSではIIFですが^^)を使って上手く欲しかった結果が 出るようになりました! 本当にありがとうございました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 一例です。 ↓の画像のように作業用の列を使っています。 作業列H2セルに =IF(COUNTBLANK($G$2:$G$3),"",IF($G$2+ROW(A1)-1>$G$3,"",$G$2+ROW(A1)-1)) という数式を入れ、オートフィルでずぃ~~~!っと下へコピーします。 これで開始日をG2・終了日をG3セルに入力すると その期間の日付がH列に表示されますので、このデータを利用します。 結果のD2セルに =IF(COUNTBLANK(B2:C2),"",SUMPRODUCT(($H$2:$H$366>=B2)*($H$2:$H$366<=C2))) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 以上、参考になればよいのですが 他に良い方法があれば読み流してくださいね。m(__)m

suika_no1
質問者

お礼

回答ありがとうございます。m(__)m 実は私の書き忘れでACCESS2000に関する質問だったのです。ごめんなさい。m(__)m 普段自分がEXCELでは使わないsumproduct、rowとかの関数の勉強になりました!^^ 本当にありがとうございました。m(__)m

回答No.1

IIF文で場合分けをして、それぞれの場合を正直に式で書くしかありません。 調査期間を■、品目期間を□にすると _______■■■■_______ __□□□□____________ 0日 _______■■■■_______ _____□□□__________ 1日 _______■■■■_______ _____□□□□_________ 2日 _______■■■■_______ _____□□□□□□_______ 4日 _______■■■■_______ _____□□□□□□□□_____ 4日 _______■■■■_______ _______□__________ 1日 _______■■■■_______ _______□□_________ 2日 _______■■■■_______ _______□□□□_______ 4日 _______■■■■_______ _______□□□□□□_____ 4日 _______■■■■_______ ________□□________ 2日 _______■■■■_______ _________□□_______ 2日 _______■■■■_______ _________□□□□_____ 2日 _______■■■■_______ __________□_______ 1日 _______■■■■_______ __________□□□_____ 1日 _______■■■■_______ ____________□□□□__ 0日 と言うパターンになります。 このパターンをIIF文で場合分けして、それぞれの場合で「この日付からこの日付の日数を計算する式」を書かなければなりません。

suika_no1
質問者

お礼

回答ありがとうございます。m(__)m 悩んだあげく結局IIF文を使用することになりました。比較対象が2つだったのでよかったです。^^; それでも結構長い条件式になりました。 本当にありがとうございました。m(__)m

関連するQ&A