• ベストアンサー

Excel関数:SUBTOTALとSUMIFを組み合わせる?

下記のような場合の集計ができる関数を教えて下さい。 SUBTOTALとSUMIFを組み合わせようと思ったのですが、うまくいきませんでした。 よろしくお願いします。 <表の内容> ・セルA1:「ランク」 ・セルA2~A50:「A」or「B」or「C」を入力している ・セルB1:「金額」 ・セルB2~B50:各金額を入力している <集計方法> ・セルB51に「ランクが"A"」の金額合計を表示したい ・ただしオートフィルターを使って他の条件で抽出もおこなっているのでSUBTOTAL関数のように、表示されている行の値のみを合計したい

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.2

オートフィルタ実行時でも可能な集計です。 =SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW(A2:A50))))*(A2:A50="A")*(B2:B50)) で試してみてください。 B51セルだとフィルタ実行時に非表示になるかもしれませんので、もう少し下のセルに入れてください。

haruko2005
質問者

お礼

できました! SUMPRODUCTとSUBTOTALをこのように組み合わせるのは思いつきませんでした。 ありがとうございます。大変助かりました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

SUBTOTAL関数だけで駄目なら、その理由(例を示せばOKかと)を教えてください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

SUBTOTALで条件付けなら、ランクも条件にするしかないですね。 SUMPRODUCTを使う場合 =SUMPRODUCT(($A$2:$A$50="A")*($B$2:$B$50)*(他の条件)) 条件は基本的にその列の範囲と等号・不等号か関数を使います。 金額の積の和なら列の範囲だけを設定してください。 DSUMの場合 表とは別の範囲に ランク 条件2 条件2   条件3 '条件がFrom-Toの場合は同じ項目をもう1列設定 A   =">100" ="<200"=" <>&"XXX" =DSUM("表の範囲","集計する項目名","条件のセルの範囲")

haruko2005
質問者

お礼

早速のご回答ありがとうございます。 やはり条件も数式に入れるしかないのでしょうか…。 利用する人があまりExcel関数に詳しくないので、できればデータベース関数も使わない方がいいのですが、なかなか難しそうですね。

関連するQ&A