• ベストアンサー

COUNTIFを使うのだと思いますが…。

仕事で集計をしているのですが、どうしても分りません。 「シート2のM列が"りんご"で、S列が"青森"場合の個数を数える。」 という場合、 =COUNTIF(シート2!M:M="りんご")+COUNTIF(シート2!S:S="青森") かと思ったのですが、エラーになってしまいます。 どのような式を作ったらいいのか教えていただけませんでしょうか。

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

  • ベストアンサー
  • suz83238
  • ベストアンサー率30% (197/656)
回答No.1

複数条件の場合は、COUNTIFでなくSUMPRODUTを使います。 =SUMPRODUCT((M1:M1000="りんご")*(S1:S1000="青森"))

jun_yoshi
質問者

お礼

どうもありがとうございます。出来ました! 会社で集計ができずとても困っていたので、助かりました。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

>シート2のM列が"りんご"で、S列が"青森"場合の個数 ⇒ご提示の数式では、M列の「りんご」のセル数とS列の「青森」のセル数の総和になります。(但し、数式は「=」を「,」にしないと成立しません)  因みにM列が「りんご」且つS列が「青森」の数ならば、and条件になりますので、COUNTIF関数では意味が違ってきます。  一例ですが、=SUMPRODUCT((シート2!M1:M65535="りんご")*(シート2!S1:S65535="青森"))となります。  尚、この関数は配列数式の為、列定義は出来ませんので最大行-1範囲としています。  

jun_yoshi
質問者

お礼

どうもありがとうございます。 且つとまたはでは、式が違うのですね。 今回は且つのやり方が知りたかったのですが、とても参考になりました!

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.3

作業列を作って、行ごとに「M列がりんごでS列が青森」だったら1、そうじゃなかったら0を記入し、その合計を求める、という基本的なやり方で求められます。 それができた上で、作業列を作りたくない、という場合に、上級編として、SUMPRODUCTを使うようにしないと、意味が解らないままSUMPRODUCTを使うことになりますよ。⇒応用が利きませんよ。

jun_yoshi
質問者

お礼

SUMPRODUCTで一応できました。 応用ができなかった時に、作業列を作ってやってみます。 ありがとうございます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

希望が >「シート2のM列が"りんご"で、S列が"青森"場合の個数を数える。」 の場合は、以下の式では答えが違うと思います。 =COUNTIF(シート2!M:M="りんご")+COUNTIF(シート2!S:S="青森") エラーの原因は =COUNTIF(シート2!M:M,"りんご")+COUNTIF(シート2!S:S,"青森") COUNTIF関数では、複数の条件にあうデータ数を求めることはできません。 作業列としてT列にでも  =M1&S1 入れて下フィルしておいて =COUNTIF(シート2!T:T,"りんご青森") とか、SUMPRODUCT関数など配列関数を使用することになります。 EXCEL2007では COUNTIFS関数があるとの事です。

jun_yoshi
質問者

お礼

ありがとうございます。 作業列を使えばCOUNTIFでもできるのですね。

関連するQ&A