• ベストアンサー

複数条件の関数

A B C D 商品 納品月 金額 いちご 1 100 いちご 2 200 いちご 3 300 いちご 4 400 例)Dに、いちごの1月と2月と3月の金額を出す式を教えてください ※何千のデータ量で商品の種類がいくつもあり 商品ごと、時期ごと(パターン)の金額が知りたいです。

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

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

こんばんは! 実際はどうように表示させたいのか不明ですので、とりあえずやり方だけ! >※何千のデータ量で商品の種類がいくつもあり・・・ とありますので、あまりお勧めできない方法ですが、 一例です。 ↓の画像のような配置として、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

その他の回答 (2)

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

#1です オートフィルタ → オートフィルタ+subtotal の間違い

ALMHULT
質問者

補足

行はそのままで、各列にその集計を表示させたいのですが・・・

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.1

オートフィルタが一番楽です。 ピボットテーブルでも可