• ベストアンサー

エクセルの関数の件でご質問です。

エクセルの関数の件でご質問です。 以下の通りのデータがあって複数の条件で計算をしたい場合、どうしてもうまく関数が作れません。 A   B   C 新聞 2   1500 雑誌 3   1900 新聞 2   2000 TV  4   5000 (1)新聞(A)で2(B)以上のBの合計 (2)新聞(A)でのCの値の合計 (1)ではSUMPRODUCTを用いて算出をしようと試みましたが正しい数値になりません。 (2)はSUMPRODUCTではなくてもいいような気がします。 どの関数を用いて上記の条件で算出するにはどうしたらよいのでしょうか? どなたか教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

前回アドバイス >1)数式を間違えて作成した > たとえば「A1:A10」にしたけど「C1:C4」のように直し漏れがあるとか あなたの数式: >=SUMPRODUCT((B3:B6535="新聞")*(F3:F5000>=2),E3:E5000)) 新聞のB列はB3から「B6535まで」の式になっていて,他のFやEは「5000まで」の式になっていると言った具合に,数式で見るセルの数を直し間違えているのが原因です。 修正例: =SUMPRODUCT((B3:B5000="新聞")*(F3:F5000>=2),E3:E5000))

ellaf0822
質問者

お礼

できました! Keithinさんが言うとおり、数式の数字を合わせたらできました。 本当にありがとうございます。 助かりました。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

エラーになったのでしたら,それは 1)数式を間違えて作成した   たとえば「A1:A10」にしたけど「C1:C4」のように直し漏れがあるとか 2)私からの回答No.2でお話ししたのとは「違う数式」を書いている   たとえば他の方のアドバイスの数式を,勝手に同じと思ってこちらに質問している のどちらかと思われます。 また >エラーになりました 私からは「エラーではなく結果がおかしかったら」というお話しをしました。 なので,エラーになったのならオートフィルタで「新聞」等を調べても無意味です。 先の回答にも書いておきましたが,それぞれ数式は違いますから,もう一度よく見直して作成し直してください。 上手く出来ないときは,「実際にあなたがエクセルに記入したその式」をあなたのエクセルの数式バーからコピーして教えてください。また,どんな表示のエラーが出たのかも重要な場合があるので,併せて教えてください。

ellaf0822
質問者

お礼

実際の元データとは、少し表が違いますが、私が作成した式をお伝えいたします。 実際の元データでは、B列に新聞やらのデータ列、F列に回数(2回以上)、E列に金額が 入っています。エラー表示は『#N/A』と出ます。 ※下記が私が製作をした式です。 =SUMPRODUCT((B3:B6535="新聞")*(F3:F5000>=2),E3:E5000)) 今回他にアドバイスを頂いた式も試してみましたが、どれもダメでした。 実際何がいけないのでしょうか? 関数にあまり詳しくない為、よかったら教えてください。 お願い致します。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

(1) =SUMPRODUCT((A1:A4="新聞")*(B1:B4>=2)*B1:B4) (2) =SUMIF(A1:A4,"=新聞",C1:C4) 参考まで

ellaf0822
質問者

お礼

ありがとうございました。 (1)は数値が0になってしまいました。。。どうしてでしょう? (2)は上手くいきました。 どうしても(1)がクリアーできません。 もし何かあれば教えてください。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

=SUMPRODUCT((A1:A10="新聞")*(B1:B10>=2), C1:C10) =SUMIF(A:A, "新聞", C:C) カンマやカッコの対応など,いろいろな数式の回答が寄せられるかもしれませんが,よく注意して確認してください。 エラーではなく「正しい値にならない」のであれば,数式ではなく実データの方にミスがあります。 #いや,一応可能性としては「以上」と「より大きい」を間違えて「>」や「>=」が正しく作成できていないというのもありますが,そこいらは目で見て判りますね。 たとえば「新聞」に見えて「新聞□」(□はスペースなど)と記入されていた,などですね。 新聞のセルをオートフィルタで絞り出し,どこか1個のセルに記入した正しい「新聞」をコピーして一斉に貼り付けて計算結果を確認してみます。

ellaf0822
質問者

お礼

アドバイスありがとうございます。 ご指摘どおりエラーになってしまいました。オートフィルターで見てみましたが、 元データは大丈夫でした。 どうしたら算出できるんでしょうか?

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

1 =SUMPRODUCT((A2:A6="新聞")*(B2:B6>=2)*(C2:C6)) 2 =SUMPRODUCT((A2:A6="新聞")*(C2:C6))

ellaf0822
質問者

お礼

せっかく教えて頂きましたが、1に関しては上手くいきませんでした・・・。 ありがとうございます。

専門家に質問してみよう