• ベストアンサー

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

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/17068)
回答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

  • countifの複数条件

    添付ファイルのような excelの表があります。 B列(日付)とC列の複数でそれぞれ条件を定めて、件数をカウントする関数を組みたいのですが上手く行きません。 作業列はもうけず、カウントできる関数をご教授下さい。 【複数条件は下記です】 (1)B列条件 2010/2/6以上、2010/2/16以下 (2)C列条件 B よろしくお願いします。

  • エクセル関数countifの条件について

    エクセル関数countifの条件を2つ指定すること(条件を絞り込みたい)は可能でしょうか? もし他の関数でも、同じようなことが可能でしたら、方法を教えてください! よろしくねお願いします!

  • Excel 関数でcountifの複数条件

    Excelで条件にあった個数をカウントする関数はcountifですが、 複数の条件にあった個数をカウントする場合、countifの式はどうすればよいのでしょうか。 例えば A列の1行から20行で"○"が入っている個数のカウントは =countif(a1:a20,"○")ですが A列の1行から20行で"○"が入っていて、なおかつ B列の1行から20行に"1"が入っている個数のカウントを知りたいです。 =countif(a1:a20,"○")and(b1:b20,"1")ではないですよね。 よろしくご教授願います。

  • excel関数(countif)

    countif関数の使い方についてお伺いします。 countif関数の検索条件として、6分の1,3分の1などはどのように設定すればいいのでしょうか。それぞれ、excel上は16.7(=16.66666・・・),33.3(=33.33333・・・)などと表記されますが、割り切れない数字なので、「16.7」「33.3」と入れても当然正しいカウントはできません。 例えば範囲をH3:H13とすると、その範囲の中にある数字が順に以下のようになった場合 H3 ・・・ 50 H4 ・・・ 33.3(=33.33333・・・) H5 ・・・ 25 H6 ・・・ 40 H7 ・・・ 16.7(=16.66666・・・) H8 ・・・ 100 H9 ・・・ 16.7(=16.66666・・・) H10・・・ 50 H11・・・ 33.3(=33.33333・・・) H12・・・ 0 H13・・・ 16.7(=16.66666・・・) この範囲での50の個数はcountif(H3:H13,50)=2となります。 では、16.7(=6分の1)や33.3(=3分の1)はどのように関数を作ればいいのでしょうか? よろしくお願いします。

  • エクセル COUNTIF関数 (複数条件)

    エクセルの件で、たとえば、 COUNTIF 関数 A1からA5まで 例として上から あ、い、う、え、お と入力した場合 A7セルにCOUNTIF関数で 上記のすべての条件をカウントする場合は どのような関数式が正しいですか? COUNTIF(A1:A5."あ")+COUNTIF(A1:A5,"い")+ ・・・・・・・ のようにじ式を連続して5回 使うのが正しいほうほうですか? もっと賢い方法はありませんか? また、僕は初心者で詳しくありませんが、 NOTを混ぜて あいうえお以外をカウントする方法はありませんか? たとえば、  A1からA5までで、 「 あ、い、う え お  」 以外のひらがなが入力された場合に その数をカウントする方法 たとえば か き く などが 入力されていたら その数をカウントする方法は ありませんか? ついでに教えてほしいのですが、COUNTIFS(A1:A5,"×",A1:A5,"○") の計算式は正しいですか?エクセルに入力しても0が反映されます。 式がエラー表示されないので間違いではないとと思いますが、 ○ ×を入れても カウントがでません なぜでしょうか?

  • ExcelのCOUNTIF関数で条件を複数定義する

    はじまして、こんにちは。 現在Excel(2000)でリストを作り、COUNTIF関数で計算する作業をしています。 そこで質問なんですが、現在"○"と"×"をデータとして入れ、 COUNTIF関数の検索条件で"○"とし、○ならカウントとしてリスト毎の合計数を計算しているんですが、 この方法だとデータが入っていないリストまで合計数が0になってしまします。 これではすべて×でも、データが入っていなくても0になってしまい、区別できなくて困っています。 これを、データが存在している場合の"○"の数と条件付けたいんですが、このような複数の条件設定はどうやれば出来るんでしょうか? 宜しくお願いします。

  • 複数の条件を満たすセルの個数

    同時に複数の条件を満たすセル(行)の個数を知りたいです。  ABC 1●●○ 2○○○ 3●○● 4○○● 5●○○ たとえばB列が「○」でC列が「○」の 両方の条件を満たしている件数を調べるのは どういう関数を使えばよいのでしょうか。 「COUNTIF」とオートフィルタをあわせたような 感じなのですが、COUNTIFは複数の条件をいれられないのでしょうか。 どなたか教えてください。

  • エクセル2003、countif関数の検索条件について

    エクセル2003、countif関数の検索条件について 「A1セルより小さい数値の数」を調べたいのですが、 どうしてもうまく出来ません。 イメージ的には COUNTIF(B1:B20,"<A1") のようにしたいです。 回答よろしくお願いします。

  • 複数条件に合致する件数をカウント

    別シートにあるExcelのデータから、別シートに複数条件に合致する件数をカウントした集計表を作成したいのですが、何か一番適当な関数はないでしょうか? データベース関数のDCOUNTA等も試してみましたが、いまいちうまくいきません。 ちなみに、条件としては多くても4つくらいまでです。 抽象的な説明で分かりにくいかとは思いますが、皆さんのお知恵を貸してください。よろしくお願いします。(※Excel2000使用)

  • countif/sumifのようなVBA関数

    こんにちは エクセルVBAで配列aをワークシート関数countifで計算したいのですが、できないようです。代わりになるVBA関数はないでしょうか?もしくは、代替可能な方法はないでしょうか?sumifの代わりもご教示ください! よろしくお願いします。 --------------- a(0)=1 a(1)=10 a(2)=100 msgbox worksheetfunction.countif(a,">50") 'ここでエラーとなる。 -- エクセル2003

専門家に質問してみよう