- ベストアンサー
SUMIF関数で二つの条件を満たすもの?
SUMIF関数を使って集計しています。 A1 B1 A1とB1の条件が一致する場合の集計を出したいのですが、 SUMIF関数を使って設定できますでしょうか? ご指導よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
厳密にはSUMIFではないのですが。 (1)DSUM(2)配列数式(3)SUMPRODUCTを使う3方法が今まで出ています。(2)でやりました。 (テストサンプルデータ) A2:C8に a x 9 b v 3 c f 4 a g 5 b z 1 a x 5 (関数式) 例えばE2に =SUM(IF((A2:A7="a")*(B2:B7="x"),C2:C7,"")) といれ、ENTERキーを押す前に、左手指で CTRLキーとSHIFTキーを押さえつつ、ENTER キーを押してください。式の両端に{と}が付きます。 (結果)14です。 配列数式と言います。 http://pc21.nikkeibp.co.jp/pc21/pc_10/hr11.htm を見てください。
その他の回答 (4)
- comv
- ベストアンサー率52% (322/612)
こんにちは >A1とB1の条件が一致する場合の集計 各条件は、どのようなものでしょうか? どの列を集計するのでしょうか? 何れにしろ大概の場合、複数範囲の複数条件では SUMIF()だと無理があります(同一範囲の以上~以下 などであれば組み合わせで可能です) そのような場合 配列数式 {=SUM((範囲A=条件値)*(範囲B=条件値)*値範囲)} 配列関数 =SUMPRODUCT((範囲A=条件値)*(範囲B=条件値)*値範囲) データベース関数 =DSUM(全範囲,集計したい項目名記載セル,条件記載範囲) などで求めるのが一般的です
お礼
comvさま、アドバイスありがとうございます。 各条件は"文字列"と"数字の記号"の組み合わせで、集計するのは数値です。 二つの条件を満たした時の合計を算出できたら・・・と思い、質問させていただきました。 >配列数式 {=SUM((範囲A=条件値)*(範囲B=条件値)*値範囲)} >配列関数 =SUMPRODUCT((範囲A=条件値)*(範囲B=条件値)*値範囲) >データベース関数 =DSUM(全範囲,集計したい項目名記載セル,条件記載範囲) のご教示ありがとうございました。
- hinebot
- ベストアンサー率37% (1123/2963)
もう少し、具体的にどうしたいのか教えてもらえませんか?
お礼
hinebotさま、補足要求ありがとうございます。 私の質問の内容不足でごめんなさい。 補足をしようと思いましたら、↑のご回答をいただき、私の質問のカバーをしてくださったみたいで・・・
- sirokiyat
- ベストアンサー率23% (204/867)
IF関数を使って2つの条件をクリヤーすればいいのでは。 if(A1,sumif(B1),,) ちょっと、文法がうろ覚えで手元に本がないのでもうしわけないですが、 IF関数でA1の条件の時に、SUNMIFでB1の条件で集計すればいいといいのでは?
お礼
sirokiyatさま、アドバイスありがとうございます。 IF関数とSUMIF関数の組み合わせですね。 私は、SUMIF関数を使えたことがうれしくって!・・・という初心者です。 こんな方法もあるんですね。
- taknt
- ベストアンサー率19% (1556/7783)
SUMIF(A1)+SUMIF(B1) 書き方は省略してあります。 ひとつの関数に 二つの条件を割り当てることはできませんので上記のようにそれぞれ割り当てて たすしかないでしょう。
お礼
taknt さま 関数には、二つの条件がつけられないことをお教えいただき、ありがとうございました。
お礼
imogasiさま、私の質問内容のサンプルまで作成していただき、ありがとうございます。 >(1)DSUM(2)配列数式(3)SUMPRODUCTを使う3方法が今まで出ています。 集計のいろんな方法までお教えいただき、重ね重ね感謝申しあげます。 お教えくださった方法で、解決できました!! 配列方式っていう名前なのですね。 >CTRLキーとSHIFTキーを押さえつつ、ENTERキーを押してください。 同時にキーを押しながらする作業も初めてしました。 集計時、Sheetを変えたときにもできるかしらん?と思っています。 また、教えてくださいね。ありがとうございました。