• ベストアンサー

EXCEL・複数条件がある場合のCOUNTIFの書き方

エクセルである条件に合致する件数を調べたい場合、普通COUNTIFを使うと思います。これだと普通1つの条件しか書けないと思います。 というか書き方が分からないので、仕方がないのでたくさん並べて+で足すなどの苦肉の策で対処しています。 が、「ある条件」が5個もあるので長くなり汚く、いかにも素人っぽいので何とかしたいと思っています。 VBAで関数を自作することは出来るので、書いてもいいのですが、その前にこのくらいエクセルの関数で何とかできるはずだと思うので、この辺のことが詳しい方に教えていただきたいと思っています。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

OR条件の場合 =COUNTIF(範囲,条件1)+COUNTIF(範囲,条件2) AND条件でも同じセルの数値From-Toの場合 =COUNTIF(範囲,条件1)-COUNTIF(範囲,条件2) ※結果の大きい方が条件1になります。例 =COUNTIF(A1:A10,">=1")-COUNTIF(A1:A10,">10") 上記以外の場合 方法1.SUMPRODUCT関数を使う =SUMPRODUCT((条件1)*(条件2)*....*(条件N)) ※条件は(A1:A10>=1)とかISNUMBER(A1:A10)とかでTRUE/FALSEの結果が表示されるものならOK ※条件に使う範囲はずれていてもかまいませんが、範囲の行列の数(セル数)は同じにしなければいけません。 方法2.配列数式を使う =SUM(IF((条件1)*(条件2)*...*(条件N),1,0)) と入力してCtrl+Shift+Enterで確定する。 方法3.DCOUNT関数を使う 項目名1 項目名2 条件1  条件2 のような条件範囲を作成した上でDCOUNT(カウントする項目の範囲,データの全範囲、条件範囲)で検索できます。 ※詳細はヘルプをご覧ください。

arakororin
質問者

お礼

いろいろあるのですね。 条件の書き方を工夫すればナントカできるようですね。 ちょっと慣れが必要みたいですね。 大変参考になりました。ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

毎日このOKWAVEに、1つ2つ、複数条件の件数カウントや、該当分集計の質問が(いやというほど)出ます。 解法としては (1)SUMPRODUCT関数 (2)配列数式 (3)Dsum関数・Dcount関数 (4)PivotTable (5)VBAで などの方法がありそうですが、(3)が人気がなく、配列数式も理解されない場合が多いようです(私は回答例が多いですが)。 Officeソフトのカテゴリを登録し質問を1週間でも読んでみてください。 過去の質問の検索語としては「複数条件」や「Sumproduct」「配列数式」でしょうか。

arakororin
質問者

お礼

いろいろあるのですね。 参考になりました。ありがとうございました。

noname#204879
noname#204879
回答No.4

》 …を調べたい場合、普通COUNTIFを使うと思います。 それを「普通」と考えるのは貴方の思い込みです。 》 これだと普通1つの条件しか書けないと思います。 それも貴方の思い込み。COUNTIFを複数使えるケースもあります。

arakororin
質問者

補足

そうですか。 もしあなたに質問に答える能力があるならば 揚げ足を取って終わりにするのではなく 回答をしていただきたいです。

  • ysko614
  • ベストアンサー率31% (103/329)
回答No.3

私なら条件を5つのセルに入力し、条件の分だけ範囲指定した状態で、 =COUNTIF(範囲,条件の入ったセル範囲) と入力した後、SHIFT+CTRLキーを押しながら、 ENTERで、並列として答えを出しますが、 いかがでしょうか? {=COUNTIF(範囲,条件の入ったセル範囲)} となります。

arakororin
質問者

お礼

「うわ、すげー」とか思いました。 意味がよく分かりませんけど、特殊な使い方があるのですね。 セル範囲を名前定義した場合の名前を指定しても可能だったので、 結構便利そうですね。 大変参考になりました。ありがとうございました。 これってセルが飛び地になっている場合って、 名前定義をしてその名前を指定しない限り無理ですか? もしこれが出来ればもっと便利なんですけど。 もしよろしければこちらもお願いします。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.2

>VBAで関数を自作することは出来るので なら、例を挙げるまでもないかなと・・・・   sumproduct関数 で()内に複数検索条件を組み入れて * アスタリスクで演算 ()内は  (検索範囲 演算子 検索条件)*(検索範囲 演算子 検索条件)*(・・・・・・・以下同左            ↑↑↑↑            セルアドレス指定の方が汎用性あり            そのセルに 検索ワードを入力するだけだから。

arakororin
質問者

お礼

なるほど。 ちょっと進みました。 ありがとうございました。

関連するQ&A