- ベストアンサー
Excel関数:SUBTOTALとSUMIFを組み合わせる?
下記のような場合の集計ができる関数を教えて下さい。 SUBTOTALとSUMIFを組み合わせようと思ったのですが、うまくいきませんでした。 よろしくお願いします。 <表の内容> ・セルA1:「ランク」 ・セルA2~A50:「A」or「B」or「C」を入力している ・セルB1:「金額」 ・セルB2~B50:各金額を入力している <集計方法> ・セルB51に「ランクが"A"」の金額合計を表示したい ・ただしオートフィルターを使って他の条件で抽出もおこなっているのでSUBTOTAL関数のように、表示されている行の値のみを合計したい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
オートフィルタ実行時でも可能な集計です。 =SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW(A2:A50))))*(A2:A50="A")*(B2:B50)) で試してみてください。 B51セルだとフィルタ実行時に非表示になるかもしれませんので、もう少し下のセルに入れてください。
その他の回答 (2)
SUBTOTAL関数だけで駄目なら、その理由(例を示せばOKかと)を教えてください。
- mshr1962
- ベストアンサー率39% (7417/18945)
SUBTOTALで条件付けなら、ランクも条件にするしかないですね。 SUMPRODUCTを使う場合 =SUMPRODUCT(($A$2:$A$50="A")*($B$2:$B$50)*(他の条件)) 条件は基本的にその列の範囲と等号・不等号か関数を使います。 金額の積の和なら列の範囲だけを設定してください。 DSUMの場合 表とは別の範囲に ランク 条件2 条件2 条件3 '条件がFrom-Toの場合は同じ項目をもう1列設定 A =">100" ="<200"=" <>&"XXX" =DSUM("表の範囲","集計する項目名","条件のセルの範囲")
お礼
早速のご回答ありがとうございます。 やはり条件も数式に入れるしかないのでしょうか…。 利用する人があまりExcel関数に詳しくないので、できればデータベース関数も使わない方がいいのですが、なかなか難しそうですね。
お礼
できました! SUMPRODUCTとSUBTOTALをこのように組み合わせるのは思いつきませんでした。 ありがとうございます。大変助かりました。