- ベストアンサー
2つの期間の重複する日数(月数)を計算する方法
- 2つの期間の重複する日数(月数)を計算する方法について教えてください。
- あるテーブルに記録された複数の期間と、フォームから指定された期間との重複する日数(月数)を求めたいです。
- 具体的な例として、フォームで指定された期間とテーブルの期間を比較し、それぞれの品名ごとに重複する日数(月数)を表示したいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 ↓の画像のように作業用の列を使っています。 作業列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
お礼
回答ありがとうございます。m(__)m 実は私の書き忘れでACCESS2000に関する質問だったのです。ごめんなさい。m(__)m 普段自分がEXCELでは使わないsumproduct、rowとかの関数の勉強になりました!^^ 本当にありがとうございました。m(__)m
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
IIF文で場合分けをして、それぞれの場合を正直に式で書くしかありません。 調査期間を■、品目期間を□にすると _______■■■■_______ __□□□□____________ 0日 _______■■■■_______ _____□□□__________ 1日 _______■■■■_______ _____□□□□_________ 2日 _______■■■■_______ _____□□□□□□_______ 4日 _______■■■■_______ _____□□□□□□□□_____ 4日 _______■■■■_______ _______□__________ 1日 _______■■■■_______ _______□□_________ 2日 _______■■■■_______ _______□□□□_______ 4日 _______■■■■_______ _______□□□□□□_____ 4日 _______■■■■_______ ________□□________ 2日 _______■■■■_______ _________□□_______ 2日 _______■■■■_______ _________□□□□_____ 2日 _______■■■■_______ __________□_______ 1日 _______■■■■_______ __________□□□_____ 1日 _______■■■■_______ ____________□□□□__ 0日 と言うパターンになります。 このパターンをIIF文で場合分けして、それぞれの場合で「この日付からこの日付の日数を計算する式」を書かなければなりません。
お礼
回答ありがとうございます。m(__)m 悩んだあげく結局IIF文を使用することになりました。比較対象が2つだったのでよかったです。^^; それでも結構長い条件式になりました。 本当にありがとうございました。m(__)m
お礼
回答ありがとうございます。m(__)m 実は私の書き忘れでACCESS2000に関する質問だったのです。 ACCESSではmin,max関数がちょっと違うので(フィールドの最小、最大を返します) このやり方を参考にして、IF(ACCESSではIIFですが^^)を使って上手く欲しかった結果が 出るようになりました! 本当にありがとうございました。m(__)m ここの「教えて」は久しぶりだったのですが、画像も添付できるようになったのですね。 とても解りやすくて助かりました。^^