- ベストアンサー
【Excel】複数の条件を満たす合計を出す関数
- Excelで複数の条件を満たす合計を出す方法について質問です。SUMIF関数で複数の条件を指定できるのか、宣言文を使う方法を試してもうまくいきません。どこが間違っているのか教えてください。
- 具体的な例として、りんごとふじの条件を満たす場合の購入数の合計を出したいです。SUMIF関数や宣言文を使用していますが、数字に変換すると答えが0になってしまいます。どのようにすれば正しい合計が求められるのか、アドバイスをお願いします。
- 数列の中から特定の条件を満たす時の合計を求めたいです。A列とB列に特定の数字を指定し、その条件下でC列の合計を求めたいです。SUMPRODUCT関数を使用していますが、何か間違っているようで正しい結果が得られません。どこが問題なのか教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
複数条件該当分集計はSUMPRODUCTか配列数式やDSUMの問題であることは間違い有りません。 質問者のデータの問題だと思います。 >データ群を他のシートからコピーし、ペースト、そのデータを使い、まったく同じように宣言文を組みました。その場合答えが0になってしまします・ 初めの質問者の提出した関数が、文字列と数値の認識が甘かったわけですが、コピーしてきたデータで、その列のデータが、今度は逆に数値ではないのだと推測します。画面には見えないスペースやTABなどが入っている可能性があり、=ISNUMBER(A1)などで、サンプル的にチェックしてください。 >以下のような宣言文 「宣言文」とは言わないと思います。関数、関数文だと思います。 関数文とも言わないと思いますが(WEB照会で4例しか出ないから) プログラム関係やXML関係では宣言文はあると思いますが、エクセルでは(VBAを除き)使わないはず。
その他の回答 (6)
- NCU
- ベストアンサー率10% (32/318)
=SUMPRODUCT((A1:A6*1=300)*(B1:B6*1=5000)*C1:C6) とすれば、とりあえずデータが文字列でも数値でも対応できますが。 (さらにスペースを取り除くような作業が必要なら、それは対応していません。念のため。) しかしDSUM関数は誰も顧みないんだなあ・・・
- chi-fuku
- ベストアンサー率14% (1/7)
>データ群を他のシートからコピーし、ペースト、そのデータを使い、まったく同じように宣言文を組みました。その場合答えが0になってしまします・・・なぜでしょう??データーに不備があるのでしょうか?? そのデータ群はExcelで作られたものですか? Accessから取り入れたものだとかだとExcelでは上手く数値として認識しない場合があるようですが・・・。 そのデータ群に「1」を乗算貼り付けしてみてはいかがでしょう?
》 SUMIFで複数の条件を指定することできるのでしょうか? 出来ません。
補足
SUMIFで複数の条件を指定することできるのでしょうか? は前の人の文です。 私の質問はその下からからです。 お願いします。
- zap35
- ベストアンサー率44% (1383/3079)
={SUM((A1:A6=300)*(B1:B6=5000)*(C1:C6))} でも 500 の結果が得られますね。(配列関数) =SUM((A1:A6=300)*(B1:B6=5000)*(C1:C6)) と入力してShift+Ctl+Enterで入力してください
- bin-chan
- ベストアンサー率33% (1403/4213)
""で囲むと「文字列」を指定したことになるから。 "を取り除いてください。 =SUMPRODUCT((A1:A6=300)*(B1:B6=5000)*(C1:C6))
補足
ありがとうごさいます!!しかし、""をはずしたところ、なりました!! しかし、ならないときがあります! それは、データ群を他のシートからコピーし、ペースト、そのデータを使い、まったく同じように宣言文を組みました。その場合答えが0になってしまします・・・なぜでしょう??データーに不備があるのでしょうか?? ちなみにまったくおなじデータ群を自分で作り直しやったところうまくいきます。原因はなんなのでしょうか?? お忙しいとはおもいますが、よろしくお願いします。
- shikisaito
- ベストアンサー率52% (257/491)
=SUMPRODUCT((A1:A6=300)*(B1:B6=5000)*(C1:C6))
お礼
問題が解決しました!!まことにありがとうございました!やはり、問題は、データーにスペースがあったことによるものでした。関数の式にデーターにある同じ数のスペースを打ったところ、うまくいきました!本当に助かりました!ありがとうございました。