• ベストアンサー

ExcelのSUMPRODUCT関数について

 A        B H20.10.10 100,000 H20.11.10 100,000 H20.12.10 100,000 H21.1.10 100,000 H21.2.10 100,000 H21.3.10 100,000 H21.4.10 100,000 H21.5.10 100,000 H21.6. 3 100,000 H21.7.10 100,000 H21.8.10 100,000 H21.9.10 100,000 H21.10.10 100,000 H20.10.10 100,000 H20.11.15 200,000 別シートに2008/7/1~2008/7/31のように1ヶ月単位で合計を計算したいのですが、別シートA1に =SUMPRODUCT((支払手形!$A$1:$A$600>="2008/7/1"*1)+(支払手形!$A$1:$A$600<="2008/7/31"*1),支払手形!$B$1:支払手形!$B$600) としたのですが、期間の条件検索が上手くできず全部を合計してしまいます。 どこが違うのでしょうか?Excel2007です。 どなたかよろしくお願いします。

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

  • ベストアンサー
回答No.1

> (支払手形!$A$1:$A$600>="2008/7/1"*1)+ > (支払手形!$A$1:$A$600<="2008/7/31"*1) この二つを「+」で結合したのはマズいです。全体を合計した上に 昨年7月分は二重に足しちゃいますね。両方を満たした行のみにす るなら、かけ算でヤッてください。

motty7777
質問者

お礼

ありがとうございます。 さっそくやってみましたが、今度は0になってしまいました…。

motty7777
質問者

補足

=SUMIFS(支払手形!A1:A600,支払手形!A1:A600,"2008/7/1"*1,支払手形!A1:A600,"2008/7/31"*1) これも0になります。文系の脳みそでは理解できません…。

その他の回答 (1)

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

こんばんは! SUMPRODUCT関数ではなく、DSUM関数を使った方法になりますが・・・ ↓の画像のように 開始日時~最終日時を入れるセルを別に用意しておきます。 ↓の表のD5セルに =IF(D2="","",">="&D2) E5セルに =IF(E2="","","<="&E2) そしてF5セルに =IF(COUNTBLANK(D5:E5)>0,"",DSUM(A1:B15,2,D4:E5)) という数式を入れています。 (D5・E5セルはシリアル値が表示されますが、あまり気にしないでください) これでD2~E2セルの期間の合計が表示されるはずです。 尚、数式内のデータ範囲指定は画像の表で書いていますので データによって範囲指定はアレンジしてみてください。 以上、参考になれば幸いですが、 的外れの回答なら読み流してくださいね。m(__)m

motty7777
質問者

お礼

ありがとうございます。 試しにやってみます。

関連するQ&A