- ベストアンサー
エクセル関数で複数の期間を参照して計算する方法は?
- エクセルでの期間計算について質問です。A列とB列にそれぞれ数字が入力されており、別シートでA列の二つの数字を入力すると、その期間のB列の値の合計や個数を計算したいです。VLOOKUP関数では期間計算ができず、他に良い方法があるか教えてください。
- 特定の期間のデータを参照して計算する方法について質問です。エクセルのA列とB列に数字が入っており、別シートでA列の二つの数字を入力すると、その期間のB列の値の合計や個数を求めたいです。ただし、VLOOKUP関数では期間計算ができないため、他の方法を探しています。
- エクセルで期間計算を行いたいのですが、VLOOKUP関数では期間の値を計算することができません。A列とB列に数字が入っており、別のシートでA列の二つの数字を入力すると、その期間のB列の値の合計や個数を計算したいのですが、他に良い方法はありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ん?既に回答済みの方策と同じですが。丸ごと全部答えを書いてもらわないと出来ませんか? あぁ、2007向けと言われたんで見もしなかったって事でしょうか。ゴメンナサイ、余計な事を書きました。 プラスの合計 =SUMPRODUCT((Sheet1!A1:A100>=A1)*(Sheet1!A1:A100<=A2)*(Sheet1!B1:B100>0), Sheet1!B1:B100) マイナスの合計 =SUMPRODUCT((Sheet1!A1:A100>=A1)*(Sheet1!A1:A100<=A2)*(Sheet1!B1:B100<0), Sheet1!B1:B100) マイナスの個数(ゼロは含めない): =SUMPRODUCT((Sheet1!A1:A100>=A1)*(Sheet1!A1:A100<=A2)*(Sheet1!B1:B100<0))
その他の回答 (3)
添付図参照 Sheet2 における各式は次のとおり H1: =MATCH(A1,Sheet1!A:A,0) H2: =MATCH(A2,Sheet1!A:A,0) B2: =SUM(OFFSET(Sheet1!B1,H1-1,,H2-H1+1)) C2: =SUMIF(OFFSET(Sheet1!B1,H1-1,,H2-H1+1),">0") D2: =SUMIF(OFFSET(Sheet1!B1,H1-1,,H2-H1+1),"<0") E2: =COUNTIF(OFFSET(Sheet1!B1,H1-1,,H2-H1+1),">0") F2: =COUNTIF(OFFSET(Sheet1!B1,H1-1,,H2-H1+1),"<0")
お礼
ご回答ありがとうございました。 参考にさせていただきます。
- keithin
- ベストアンサー率66% (5278/7941)
ご利用のエクセルのバージョンがご質問に書かれていませんが、Excel2007以降を使っているならSUMIFS関数やCOUNTIFS関数で計算します。 全合計: =SUMIFS(Sheet1!B:B,Sheet1!A:A,">="&A1,Sheet1!A:A,"<="&A2) プラスの合計: =SUMIFS(Sheet1!B:B,Sheet1!A:A,">="&A1,Sheet1!A:A,"<="&A2,Sheet1!B:B,">=0") マイナスの個数: =COUNTIFS(Sheet1!A:A,">="&A1,Sheet1!A:A,"<="&A2,Sheet1!B:B,"<0") Excel2003以前しか使えない場合は、SUMPRODUCT関数で工夫します。 全合計: =SUMPRODUCT((Sheet1!A1:A100>=A1)*(Sheet1!A1:A100<=A2), Sheet1!B1:B100) プラスの個数(ゼロは含めない): =SUMPRODUCT((Sheet1!A1:A100>=A1)*(Sheet1!A1:A100<=A2)*(Sheet1!B1:B100>0)) ご相談投稿では、ご利用のソフト名は元より、普段あなたが使うソフトのバージョンまでキチンと明記することを憶えて下さい。
補足
すいませんでした。エクセル2003を使用してます。 全合計、プラスの個数ともにできました。 プラスの合計はできないのでしょうか?
- nakamura-a1
- ベストアンサー率0% (0/1)
データの入力シートのシート名が"Sheet1"とし、 集計シートのA1に1000、A2に5000が入力されているとして、 B2 : =SUM(OFFSET(Sheet1!B$1,MATCH(A1,Sheet1!A$2:A$10,),,MATCH(A2,Sheet1!A$2:A$10,)-MATCH(A1,Sheet1!A$2:A$10,)+1)) C2 : =SUMIF(OFFSET(Sheet1!B$1,MATCH(A1,Sheet1!A$2:A$10,),,MATCH(A2,Sheet1!A$2:A$10,)-MATCH(A1,Sheet1!A$2:A$10,)+1),">=0") D2 : =SUMIF(OFFSET(Sheet1!B$1,MATCH(A1,Sheet1!A$2:A$10,),,MATCH(A2,Sheet1!A$2:A$10,)-MATCH(A1,Sheet1!A$2:A$10,)+1),"<0") E2 : =COUNTIF(OFFSET(Sheet1!B$1,MATCH(A1,Sheet1!A$2:A$10,),,MATCH(A2,Sheet1!A$2:A$10,)-MATCH(A1,Sheet1!A$2:A$10,)+1),">=0") F2 : =COUNTIF(OFFSET(Sheet1!B$1,MATCH(A1,Sheet1!A$2:A$10,),,MATCH(A2,Sheet1!A$2:A$10,)-MATCH(A1,Sheet1!A$2:A$10,)+1),"<0")
お礼
できました。 自分の能力では関数の意味が理解できませんが こういうやり方もあるんですね! ご回答ありがとうございました。
お礼
再度回答ありがとうございます。 プラス、マイナスの合計を自分でやってみたのですが、 自分の今の能力ではできなかったので補足させていただきました。 完璧+スマートな式です。 ありがとうございました。