プロが教える店舗&オフィスのセキュリティ対策術

下記のような場合の集計ができる関数を教えて下さい。
SUBTOTALとSUMIFを組み合わせようと思ったのですが、うまくいきませんでした。
よろしくお願いします。

<表の内容>
・セルA1:「ランク」
・セルA2~A50:「A」or「B」or「C」を入力している
・セルB1:「金額」
・セルB2~B50:各金額を入力している

<集計方法>
・セルB51に「ランクが"A"」の金額合計を表示したい
・ただしオートフィルターを使って他の条件で抽出もおこなっているのでSUBTOTAL関数のように、表示されている行の値のみを合計したい

A 回答 (3件)

オートフィルタ実行時でも可能な集計です。



=SUMPRODUCT((SUBTOTAL(3,INDIRECT("A"&ROW(A2:A50))))*(A2:A50="A")*(B2:B50))

で試してみてください。
B51セルだとフィルタ実行時に非表示になるかもしれませんので、もう少し下のセルに入れてください。
    • good
    • 13
この回答へのお礼

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

お礼日時:2006/02/27 15:49

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

    • good
    • 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("表の範囲","集計する項目名","条件のセルの範囲")
    • good
    • 2
この回答へのお礼

早速のご回答ありがとうございます。

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

お礼日時:2006/02/27 13:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A