• ベストアンサー

エクセルで2つの条件をクリア後、合計値を出す方法

エクセルで2つの条件をクリア後、合計値を出す方法 会社で上記の方法が分からず困っています・・・。 例えば、横一列が取引企業の情報だとして、 Aの行に営業担当、Bの行に現在の取引金額、Cの行に今後の売上予測金額が入っている場合、 「営業担当がAさん」で、 「取引金額が¥1以上」の企業様の 「売上予測合計金額」を出そうとすると、どのようにすればよいのでしょうか? 営業担当はBさん、Cさんと複数おり、担当ごとに同じ事をしたいのです。 エクセルは2003を使用しています。 方法をご存知の方、お教え下さい!

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

  • ベストアンサー
  • qyukip
  • ベストアンサー率40% (13/32)
回答No.3

例えば2行目から8行目までにデータが入っている場合として 以下のように入力するとできます。 =SUMPRODUCT(($A$2:$A$8="営業担当")*($B$2:$B$8>0)*($C$2:$C$8))

mayco1617
質問者

お礼

御礼が遅れまして申し訳ございません。 上記方法で上手くいきました! 大変助かりました、ありがとうございます!

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

合計だけ1行出しても、該当したのがどの取引かがわからないですが、 これでいいんなら答えは出ているのでは???、と思います。 該当する明細に絞って表示、 合計も複数行表示されている状態で表示、の方がいいのでは、と思います。 本題ですが、 2つの条件はフィルタを使用、 合計はSUBTOTALを使用、 は考えてみましたか。どうでしょうか。

mayco1617
質問者

お礼

御礼が遅くなり申し訳ございません。 SUBTOTALは知りませんでした。 試してみます!ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

情報が不足しているような気がします。 単純にSUMIF関数ではどの部分が不都合なのでしょうか? =SUMIF(A:A,"Aさん",C:C)

mayco1617
質問者

お礼

御礼が遅れまして申し訳ございません。 それでいけると思ったのですが、上手く表示されず 何が足りないのかが分からなかったため質問させていただきました。 お手数をおかけいたしました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

Function SUMV(ByRef r As Range) Dim x For Each x In r If Not x.EntireRow.Hidden Then If IsNumeric(x.Value) Then SUMV = SUMV + x.Value End If End If Next x End Function 上記のユーザ関数を作っておき、 リストの「売り上げ予測合計金額」が2行目から100行目まであるとして、 担当者ごとの売り上げ予測合計金額を出したいセルに、 =SUMV(C2:C100) と入力します。 あとは、リストにオートフィルタを設定して、条件を抽出すれば良いです。

mayco1617
質問者

お礼

御礼が遅れまして申し訳ございません。 私の理解不足でユーザ関数がそれぞれ何を示しているかがわからず、 置き換えることが出来ませんでした。 せっかくお教えいただきましたのに申し訳ございません。

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

こんばんは! 外していたらごめんなさい。 >例えば、横一列が取引企業の情報だとして・・・ とあるのですが、この条件は無視しているかもしれません。 質問内容と↓の画像の配置が違うかもしれませんが・・・ Sheet1のデータをSheet2に表示するようにしています。 Sheet1に作業用の列を1列設けています。 作業列D2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(A1),"") という数式を入れオートフィルで下へずぃ~~~!っとコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$D$2:$D$1000)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(Sheet1!$D$2:$D$1000,ROW(A1)))) B2セルに =IF(A2="","",SUMPRODUCT((Sheet1!$A$2:$A$1000=A2)*(Sheet1!$B$2:$B$1000>=1)*(Sheet1!$C$2:$C$1000))) という数式を入れ、A2・B2セルを範囲指定し、B2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 以上、参考になれば良いのですが、 的外れなら読み流してくださいね。m(__)m

mayco1617
質問者

お礼

御礼が遅れまして申し訳ございません。 結論としては上手くいかなかったのですが、 ベストアンサーにしたいくらい丁寧に画像まで付けていただき とても分かりやすくありがたかったです! ありがとうございました!

関連するQ&A