プロが教えるわが家の防犯対策術!

どう質問をしたらよいかわからず、タイトルを上記のようにしました。。。
したいことは、SUBTOTALのようにフィルタをかけた状態で商品名ごとに
数量、売上金額、粗利益を集計したいです。
その際、商品によっては複数条件に該当する商品を合計したいので
その場合の数式をご教授頂ければ幸いです。

添付のようなデータがあります。
854行目から888行目までを参照して、それぞれ数量:O1~O3、売上金額:R1~R3、粗利:Z1~Z3に
それぞれSUBTOTAL関数を入れて合計を出しています。
また、参照1を、現在アナログで該当する商品名まで引っ張って参照させています。

タイプでいうとO6:O861まで。タイプが25タイプ、26タイプのところまで。集計条件が2つです。
カシミヤ、コットンに関しては27カシミヤ、28コットンと集計条件が1つです。
他の商品に関しては、条件が4つ、5つとある為複数条件になる場合もあります。

これを他の列で条件フィルタをかけた状態のまま複数条件で合計を出したいと思い
いろいろ調べたのですがいい方法が見つけられず困っております。

説明が不足している場合は、補足いたしますので何卒よろしくお願いいたします。

「SUMIFS?COUNTIF?とSUBT」の質問画像

質問者からの補足コメント

  • うーん・・・

    教えていただいたことや、いろいろと調べたのですが
    理解力不足で申し訳ありません。
    可能でしたら、追加で質問をさせてください。

    例えば、あいているI列に表示しているセルにマークをつけたとします(たとえば1とします)
    かつ、タイプという商品(25タイプ、26タイプ)を集計したい場合はどういう式を組み合わせれば良いのでしょうか?
    申し訳ありません、知識不足なのは重々承知しております。
    お手数をおかけいたしますが、ご教授頂ければ幸いです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/02/09 17:20

A 回答 (3件)

個数ならCOUNTIFS関数。


売上、利益ならSUMIFS関数。

COUNTIFS関数は指定した条件を満たす場合にカウントされる。
 =COUNTIFS(検索条件範囲1,検索条件1,検索条件範囲2,検索条件2…)
のように条件の範囲とその条件を指定して使う。
フィルタをかけた後に表示されていることを条件にするのだから、I列に対して「1」以上の値が入っていることを条件の一つにする。
そして集計したい商品であることを条件にするのだから、N列に対して「指定する商品名」であることをもう一つの条件にする。

SUMIFS関数は指定した条件を満たす場合に合計される。
 =SUMIFS(合計範囲,検索条件範囲1,検索条件1,検索条件範囲2,検索条件2…)
と、COUNTIFS関数に「合計範囲」が指定される。


・・・
基本的に検索条件は文字列で与える。
1以上であれば、
 ">=1"
と、ダブルクォーテーションで囲う。
 AA1セルに「4」という数値が入力されていて、4以上と条件を指定したいときは
 ">="&AA1
のように”以上”を示す文字列を結合して文字列にする。

同じ数値や文字列を検索する場合は「数値のまま」や「等しい」を示す文字を含めなくても良いが、混同して覚えると間違いを招くので、
 "="&AA1
のように”等しい”を示す文字列と結合して使うと覚えておきましょう。


下の図は例です。
この質問ではフィルタ処理したセルに対してSUBTOTAL関数で「マーク」を付けることを勧めていますが、
フィルタで除外されたセルが影響しないことを示すためこの例では「マーク」の列の値を手で入力しています。
「SUMIFS?COUNTIF?とSUBT」の回答画像3
    • good
    • 1
この回答へのお礼

ご丁寧にご教授いただきましてありがとうございます。
また、わかりやすくご説明いただき感謝しております。
試してみて、無事解決いたしました。
お手数をおかけいたしました。
ありがとうございます。

お礼日時:2017/02/13 10:00

もう1つヒント。



I列など左の列が空いているなら、そこへ
 =SUBTOTAL(3,J$6:J6)
と入力して必要な行までコピーすると、
表示されている列に連番を表示できます。

見た目を重視するなら、このほうが良いと思います。
集計の条件には ”「1」以上” または ”「0」より大きい” を指定すればよいです。
    • good
    • 1
この回答へのお礼

度々ご教授頂き、感謝します。
ご教授いただいた方法を参考に自分なりに組み合わせて対応してみます。
ありがとうございました。

お礼日時:2017/02/08 17:25

んーと、


SUBTOTAL関数で表示しているセルに対してマークを付ければ、それを検索条件として
SUMIFS関数やCOUNTIFS関数で集計ができると思います。
AA6セルなど、空いている列に
 =SUBTOTAL(3,J6)
と入力して必要な行までコピーしましょう。
あとは ”AA列の値が「1」である” ことを条件に加えればよいだけです。
この回答への補足あり
    • good
    • 1
この回答へのお礼

早速、アドバイスいただきありがとうございます。
試してみます。

お礼日時:2017/02/08 17:05

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