こんばんは!
実際はどうように表示させたいのか不明ですので、とりあえずやり方だけ!
>※何千のデータ量で商品の種類がいくつもあり・・・
とありますので、あまりお勧めできない方法ですが、
一例です。
↓の画像のような配置として、F1セルに「開始月」・F2セルに「最終月」を入力するとします。
H2セルに
=IF(OR(COUNTBLANK($F1:$F2),H1=""),"",SUMPRODUCT(($A$1:$A$3000=H1)*($B$1:$B$3000>=$F1)*($B$1:$B$3000<=$F2),$C$1:$C$3000))
という数式を入れ列方向にオートフィルでコピーすると
画像のような感じになります。
※ とりあえず3000行まで対応できる数式にしていますが、SUMPRODUCT関数は配列数式になってしまいますので
かなり動作が重くなるかもしれません。
カテゴリーがWindowsXPですので、Excel2003までのバージョンで対応できる数式にしてみました。
※ Excel2007以降のバージョンをお使いであれば
=IF(OR(COUNTBLANK($F1:$F2),H1=""),"",SUMIFS($C:$C,$A:$A,H1,$B:$B,">="&$F1,$B:$B,"<="&$F2))
という数式を入れオートフィルで列方向にコピー!
これでも同じ結果になると思います。m(_ _)m
補足
行はそのままで、各列にその集計を表示させたいのですが・・・