エクセルでIFとCOUNTIFを組み合わせる方法

このQ&Aのポイント
  • エクセルでIF関数とCOUNTIF関数を組み合わせることは可能ですか?
  • エクセルを使用してデータの整理をしていますが、A列の条件に基づいてB列をカウントする方法を知りたいです。
  • インターネットで調べたところ、IF関数ではこのような使い方はできないようです。どなたかご存知の方いらっしゃいましたら教えていただけますか?
回答を見る
  • ベストアンサー

エクセルでIFとCOUNTIFを組み合わせるようなことは可能でしょうか

エクセルでIFとCOUNTIFを組み合わせるようなことは可能でしょうか? 現在エクセルを用いてデータの整理を行っているのですが、 今自分がやりたいことをどうすれば行えるのか分からず悩んでおります。 具体的には A B 1 1 1 3 2 2 2 1 1 2 1 1 といった風にデータがあったときに、Aが"1"の場合のみ Bの列をCOUNTIFを使ってCOUNTIF(B2:B7,"1"), COUNTIF(B2:B7,"2")…と求めたいと考えております。 つまりAの条件に従ってBの列をカウントするかどうかを判定したいのですが、 インターネットで調べたところIF関数ではこのような使い方ができません。 どなたかご存知の方いらっしゃいましたら教えていただけると幸いです。

noname#137276
noname#137276

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

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

一例です。 IFとSUM関数の組み合わせでも可能です。 =SUM(IF((A2:A7=1)*(B2:B7=1),1))として入力完了時にshift+ctrl+enterを押下(配列数式といいます) 又、エクセル2007以上ならば、COUNTIFS関数で複数条件の計数が可能です。 =COUNTIFS(A2:A7,1,B2:B7,1)

noname#137276
質問者

お礼

回答ありがとうございます。 =COUNTIFS(A2:A7,1,B2:B7,1)を参考にさせていただき、 =COUNT(IF((A2:A7=1)*(B2:B7=?),?) という形で調べることにいたしました。 上の条件では?の値をいじることでAの条件が1の場合のみの値を調べることができます。 ありがとうございました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

次の式をC2セルに入力して下方にオートフィルドラッグします。 =IF(A2<>1,"",COUNTIF(B$2:B$7,B2))

noname#137276
質問者

お礼

回答ありがとうございます。 =COUNTIFS(A2:A7,1,B2:B7,1)を参考にさせていただき、 =COUNT(IF((A2:A7=1)*(B2:B7=?),?) という形で調べることにいたしました。 上の条件では?の値をいじることでAの条件が1の場合のみの値を調べることができます。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

できますよ。 エクセル2007以降ならCOUNTIFSという関数でもっと簡単にできるようですが、わたしのは2000なもので以下のような式となります。 =SUMPRODUCT((A2:A7=1)*(B2:B7=1)) =SUMPRODUCT((A2:A7=1)*(B2:B7=2)) =SUMPRODUCT((A2:A7=1)*(B2:B7=3))

noname#137276
質問者

お礼

回答ありがとうございます。 =COUNTIFS(A2:A7,1,B2:B7,1)を参考にさせていただき、 =COUNT(IF((A2:A7=1)*(B2:B7=?),?) という形で調べることにいたしました。 上の条件では?の値をいじることでAの条件が1の場合のみの値を調べることができます。 ありがとうございました。

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

COUNTIFとIF関数は併用はできません。 このようなケースではSUMPURODUCTS関数を使います。 上記の条件では =SUMPRODUCT((A2:A7=1)*(B2:B7=1)) =SUMPRODUCT((A2:A7=1)*(B2:B7=2)) といった式で求めることが出来ます。

noname#137276
質問者

お礼

回答ありがとうございます。 =COUNTIFS(A2:A7,1,B2:B7,1)を参考にさせていただき、 =COUNT(IF((A2:A7=1)*(B2:B7=?),?) という形で調べることにいたしました。 上の条件では?の値をいじることでAの条件が1の場合のみの値を調べることができます。 ありがとうございました。

関連するQ&A

  • IF?COUNTIF?何をどう組み合わせたらできるのかわかりません(汗

    IF?COUNTIF?何をどう組み合わせたらできるのかわかりません(汗) 画像のような入力がされていたとします。 ・データの出力条件 A列が1の場合、B列の良い・悪い・普通のそれぞれの個数をカウントしたい。 ※画像の黄色の部分を出すイメージです ※A列が2の場合もそれぞれカウントしたいです ?A列B列は随時入力をしていくので増えます、増えたデータも自動的に黄色セルに反映したいです ?別シートは使わず、黄色セルに関数の数式を入れ、解決させたいです お知恵を貸してください!

  • 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関数の動作について

    excelのcoutif関数を使用して300行ぐらいの文字列が入った列から特定の文字列の個数をカウントさせているのですがなぜかうまくヒットしてくれません。=countif(B4,$D$3:$D$303)と入力 して300行ぐらいコピーしたのですが、結果が”0”となってしまいます。ところが、カウントしている文字列がD3:D303の中にあることは目視で確認できます。exclのサーチコマンドでもヒットします。カウントする文字列とカウントされる文字列をif文で比較してみても同じものだと認識されるようです。何が原因でカウントされないのかよくわかりません。countif関数 を使用するうえで特定の条件があるのでしょうか?d3:d303のデータはソートしています。

  • 【質問の画像が添付できませんでしたので再掲載です】IF?COUNTIF

    【質問の画像が添付できませんでしたので再掲載です】IF?COUNTIF?何をどう組み合わせたらできるのかわかりません(汗) 教えてください。 下記のように入力されていたとします↓ A   B 1   良い 2   普通 1   悪い 2   悪い 2   普通 1   普通 2   良い 1   良い 1   悪い ・データの出力条件 A列が1の場合、B列の良い・悪い・普通のそれぞれの個数をカウントしたい。 ※A列が2の場合もそれぞれカウントしたいです ※A列B列は随時入力をしていくので増えます、増えたデータも自動的に黄色セルに反映したいです。 ※別シートは使わず、黄色セルに関数の数式を入れ、解決させたいです お知恵を貸してください!

  • Excel COUNTIF関数

    お世話になります。 countif関数について教えてください。 12345 12345A countif関数で、ワイルドカードを使用して、=countif(A:A,"12345*") とし、上記の12345で始まる文字列をカウントしようとしたのですが、 12345Aはカウントされ、12345はカウントされませんでした。 上記のような文字列を両方ともカウントさせるにはどうしたらいい でしょうか。 よろしくお願いします。

  • エクセルのcountif関数で

    WindowsXPでEXCEL2003を使っています。 A列に固有名詞が入っており、 A列の中でのダブりチェックをcountif関数を使って、 実行しました。式は =countif($A$1:A7,A1) というような感じです。 ところが、見た目は全く変わらないのに、 (下記の図でいうと、「りんご」) 返ってきた数字は1でした。 ただし、「なし」のように2が返ってくるものもあります。 A列      B列 1 りんご     1 2 りんご     1 3 みかん     1 4 いちご     1 5 もも      1  6 なし      2 7 なし      2 (ずれて見苦しいかもしれませんがお許しを) 不思議に思い、一度エクセルからcsvに変換し、 またエクセルファイルになおして、 チェックしてみましたが、結果は同じ。 if関数を使ってみたらどうなるだろうかと チェックしてみたら今度は A1とA2の「りんご」は同じものである という 結果が返ってきました。 countif関数では別物と判断し、if関数では同じもの と判断する・・・ というのは、一体どういうことなのでしょうか? countif関数をなにか勘違いしているのかもしれませんが、よろしくお願いいたします。

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

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

  • ExcelのCOUNTIF関数での<1>等の意味

    こんにちは。 COUNTIF関数で質問があります。 以下のようなデータがあります。 A列にデータ、B列にCOUNTIF関数が入っていてその結果を返しているとします。 (いずれも1行目~6行目までにデータが入っています) (A列)          (B列) <1>りんご        2(=COUNTIF($A$1:$A$6,A1)) <2>みかん        2(=COUNTIF($A$1:$A$6,A2)) パイナップル      1(=COUNTIF($A$1:$A$6,A3)) 桃             1(=COUNTIF($A$1:$A$6,A4)) りんご          1(=COUNTIF($A$1:$A$6,A5)) アボカド         1(=COUNTIF($A$1:$A$6,A6)) 疑問なのは、厳密に言うと上の条件だとB列は全部1になるのではないかと思ったのに、なぜ1・2行目は2を返してくるのでしょうか、ということです。 <1>や<2>が頭についたものでそのようになっているので、これは何か意味があると思いました。 どのような意味を持つのでしょうか。 また、<1とか<をつけても自分が思っていたような結果が返ってこないので、そもそも上のような例で<がつくとどういうことになるのでしょうか。 大変お手数ですが、よろしくお願いいたします。

  • エクセル 重複データの検索(COUNTIF関数!?)

    A列とB列で、重複しているデータ(数字)を検索するための関数を教えて下さい。 確か、こんなような↓関数だったと思うのですが、ちょっと違うようです。 C2=IF(COUNTIF(A2,B1:B2377),"","×")

  • Excelの関数(COUNTIF?)

    A列には1~3000の数字が入っています。 このうち、150以下、150~200、200以上のセルがいくつあるのかカウントするには、どのような関数を使えば良いのでしょうか。 COUNTIFを使うと思うのですが、検索条件にどう表現するのか分からず困っています。

専門家に質問してみよう