• ベストアンサー

COUNTIFSについて

Excel2007です。 =COUNTIFS(A1:A10,"4月生まれ",B1:B10,"A型",C1:C10,"男") 上記のような数式で、『B1:B10,"A型"』の部分をA型とB型という風に条件付けしたい場合はどのようにすればいいですか? (つまり4月生まれで男でA型とB型の条件を揃えたセルの数を数えたい) 『B1:B10,"A型"』部分に『B1:B10,OR("A型","B型")』と入れてもできませんでした。 宜しくお願いします。

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

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

ANDではなくORの結合はCOUNTIFSの中では出来ないので, =SUM(COUNTIFS(A1:A10,"4月生まれ",B1:B10,{"A型","B型"},C1:C10,"男") などのようにできます。 #要するに「COUNTIFS(A型)+COUNTIFS(B型)」のようにするという事です。

oimoita
質問者

お礼

ご回答ありがとうございます。 COUNTIFS(A型)+COUNTIFS(B型)こう書かなくてもできるんですね。助かりました。 もう一つ教えてほしいのですが、{"A型","B型"}は、『AB型以外』のような指定をすることはできますか? お手数ですが、教えていただけると助かります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

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

COUNTIFS、SUMIFS関数の条件は、それぞれ相互にはAND条件(絞る方)を考えた関数である。その中でA型かまたはB型のどちらかでも該当を考えるのだから、その部分はOR関係で考えることになる。 これを正面から取り上げて、ANDかORを指定して、該当をする加算する関数は無く、それぞれぞれの該当分を別に計算して、足し算するほかない。 =SUMIFS(・・A型・・)+SUMIFS(・・B型・・)にならざるを得ない、それを表記法としては、配列表記で,{"A型","B型"},で済ませる書き方はある(2つの条件を両方を計算してくれる別の仕組み)。 すべての関数の引数でこれ{}を使えるわけではない。 2003までは 例データ A-E列 a 4 男 A 1 b 3 女 A 2 c 4 男 O 3 d 4 男 A 4 e 6 女 O 5 f 4 男 A 6 g 4 男 AB 7 h 4 女 A 8 =SUMPRODUCT((B1:B10=4)*(C1:C10="男")*((D1:D10="A")+(D1:D10="B"))*(E1:E10)) =SUMPRODUCT((B2:B11=4)*(C2:C11="男")*((D2:D11={"A","B"})*(E2:E11))) 結果 11 のような式でも出来る。2007でもできる。 =COUNTIFSの場合はE1:E10)の代わりに*1をかけたものを足す式になる =SUMPRODUCT((B2:B10=4)*(C2:C10="男")*((D2:D10={"A","B"})*1)) 結果 3

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>AB型以外 これは「Aではなく,かつ,Bでもない」のAND条件なので,COUNTIFSの中だけで出来ます。 =COUNTIFS(A1:A10,"4月生まれ",B1:B10,"<>A型",B1:B10,"<>B型",C1:C10,"男")

全文を見る
すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

=SUM(COUNTIFS(A1:A10,"4月生まれ",B1:B10,{"A型","B型"},C1:C10,"男"))

oimoita
質問者

お礼

ご回答ありがとうございます。 そのまま入力し無事に出来ました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • COUNTIFS関数について

    複数の条件で絞り込んだセル数をカウントできるCOUNTIFS関数ですが、 EXcel2003には入ってないのでどうやって代用していいかわからず困っています。      A B C   1600   晴     1   1400  雨     2   1600    雨     1   1200    晴     1 こういった場合、[1600以下]の[晴]で[1]の時のセル数を元求める数式を2003でやるにはどうしたら良いでしょうか? 自分で入れてみた数式は =SUMPRODUCT(($G$7:$G$33=">=1600")*(L7:L33="1")) で、とりあえず1600の時の1の数値を出そうとたのですが、ゼロになってしまいました。

  • countifsで可能でしょうか?

    非常にも困っているのでご存知の方教えてください。 現在Excel2007のワークシート関数Countifsを使って値を求める作業をしています。(複数条件に合致したセルの数を求める) 以下例です。 ----A-----B-----C-----D-----E-----F-----G 1---1/1---1/1---1/2---1/3---1/4---1/5---1/6 2---○----○----×----○----×----×----× 3---×----○----×----×----×----×----× 4---○----○----×----○----×----×----× 5---○----×----×----○----×----×----× セルA1からG1は日付です。 求めたい事 1、日付が1/1でかつ×のセルの数。 2、日付が1/5以下でか×のセルの数 これがなかなかうまくいきません。 申し訳ありませんが対応方法がお分かりの方、 ご伝授頂けませんでしょうか? よろしくお願いします。

  • Excel2007でCOUNTIFS前ゼロ否定条件

    Excel2007 のCOUNTIFS関数での否定条件の 指定方法について教えてください。 VBAのマクロの中で  (略)  For i = 1 to 10    Cells(i, "B").Formula = "=COUNTIFS(" & "A1:A10, $C$" & i & ")"  Next i   のような形で COUNTIFSを利用しています。    COUNTIFSの条件に <>を使って否定条件を指定したいのですが、以下の  ように期待した動作になりません。     例   A      B       C        D            1 '080  一般品    <>'080      =COUNTIFS(A1:A5,C1)  2 '020  一般品    <>一般品  =COUNTIFS(B1:B5,C2) 3 '040  一般品 4 '060   特別品  5 '080    一般品  セルC1の記述を変えた結果は以下の通りです。       C1      D1      備考 1)  <>'080   5    3 が入ってほしい。 2)  <>080   5    ' の有無で結果は変わらず。     '(シングルクォーテーション)は接頭辞で上記結果には無関係と理解。 3)  "<>'080"   0    "<>'080" 全体を条件値として認識してしまう。 4)  '080      2   当然 5)  <='060    3   当然   ちなみに C2に <>一般品 と条件を設定すると D2には1と期待通りの値が入ります。  1)2) の結果から A列に記述されている'080と セルC1の式に書か  れた '080 が、なぜか別の値と評価され 結果 D1が 5 となっていると理解しています。 A列のシングルクォーテーションは削除、A列の書式を文字列とし 文字列"080"とIF関数で比較すると以下の結果でした。   A    B     B列の式            1 080   FALSE  IF(A1<>"080",TRUE,FALSE)   2 020   TRUE IF(A2<>"080",TRUE,FALSE) 3 040   TRUE IF(A3<>"080",TRUE,FALSE) 4 060    TRUE  IF(A4<>"080",TRUE,FALSE) 5 080    FALSE IF(A5<>"080",TRUE,FALSE)   Excelの「数式」メニュー -「ワークシート分析」-「数式の検証」で C1セルに <>'080 、<>080、"<>'080" 、<='060 を指定した時、それぞれ 1) COUNTIFS(A1:A5,"<>'080")   2) COUNTIFS(A1:A5,"<>080")   3) COUNTIFS(A1:A5,"""<>'080""") 5) COUNTIFS(A1:A5,"<='060")  と評価されています。   また VBAのテクニックを解説するWebなどでは、"<>"と値'080を& でつなげる方法も紹介されていましたが、上記の場合結局 COUNTIFS(A1:A5,"<>080") → 5 と評価されて  しまいます。      文字列同士で比較すれば、期待する結果になりそうですが 条件の書き方には工夫がいりそうです。どのように記述すればよいでしょうか   お知恵をお借りしたくいと思います。どうかよろしくお願い致します。 以上

  • COUNTIFS関数について

    お世話になります。 3つ以上の条件を含む式の間違いが分かりません。 =COUNTIFS(sheet1!A$1:A$200,E$1,sheet1!C$1:C$200,"2",sheet1!G$1:Q$200,B3) のようなブック内の別シートを3つの条件に合うデータ件数を集計したいのですが、#value!が出ます。 ( )内の3つの条件をばらして、 =COUNTIFS(sheet1!A$1:A$200,E$1) (1) =COUNTIFS(sheet1!C$1:C$200,"2") (2) =COUNTIFS(sheet1!G$1:Q$200,B3) (3) および =COUNTIFS(sheet1!A$1:A$200,E$1,sheet1!C$1:C$200,"2") は、正しく計算できるのですが、なぜか(1)~(3)を一つの式にすると、エラーになります。 何が悪いのでしょうか。

  • エクセルのCOUNTIFSについて

    エクセルで、COUNTIFS ORを使ってカウントした際(例:同一セル内に=COUNTIFS(A)+COUNTIFS(B)で検索等)、該当したセルデータを抽出する方法を教えて下さい。 ※エクセル2016、アクセス2016等 何卒、よろしくお願いいたします。

  • COUNTIFSに関してお聞きしたいです(>_<)

    似たような質問はたくさんあるのですが、 私が求めているものと完全に一致するものがないため、困っています。 (例) A  B     C           D          I 1 楽しい まあまあ楽しい    普通   ・・ 遊園地 2  ○   3       ○       4  ○                           ○ 5  ○ 6                    ○ 7  ○ 8                    ○ 9       ○                      ○ 10       ○ ○で集計をしているのですが、 求めたいものは、「楽しいORまあまあ楽しいに当てはまる人の中で、さらに遊園地を選んだ人」です。 ここでは2という回答が欲しいのですが。 ただ1列のセル数を数えるときはCOUNTAを使うので、きっとCOUNTIFSで 出来るのだろうとは思ってるのですが、 エラーが出たりしてうまくいきません。 よく、「この中から年齢が何歳以上を選ぶ」とかいうのは複数条件でよく話題になっていますが、○だとどうなるのでしょうか? 聞くまでもない質問かもしれませんが、 宜しくお願い致します。

  • EXCELのCOUNTIFSについて

    ある集計表を作っており、「COUNTIFS」の導入を目指して勉強中です。 そこで疑問が生じましたので質問いたします。 例えば、A1のセルに「○」、B1のセルに「×」を打ち、そしてC1には○と×の合計数を数えるために「=COUNTIFS(A1:B1,"○","×")」と入力しましたが、「この関数に対して、少なすぎる引数が入力されています。」と出ます。 このエラーを回避しC1に○と×の合計数である「2」が入るようにすればどうすればよいでしょうか。別にCOUNTIFSには拘りません。もっと良い方法があるのでマクロはわからないので関数を教えてください。 また、私のつたない質問の意味が分からない方の回答はお控えくださいますよう、お願いいたします。

  • エクセル、COUNTIFS関数の範囲指定について

    エクセル2010です。 「A1の文字列が、B列とC列の中から合致し、さらにD列の"○○"という条件を満たすものはいくつあるか」 という数式を作りたいです。 写真でいうと、B・C列の中から中央区があるかどうか、さらにその中に山田がいるか、という検索式です。 そこで、COUNTIFS関数を使い、fxボタンで半自動で作ったところ、 =COUNTIFS(B:C,A1,D:D,"山田") となったのですが、なぜか結果はエラーになってしまっています。 どうやら検索条件の範囲が「B:C」になっているのが問題なのか、B:BやC:Cだけにすると、ひとつの列なら正常に計算するようです。 そこで式を二つに分け、プラスでつなげてみました。 =COUNTIFS(B:B,A1,D:D,"山田")+COUNTIFS(C:C,A1,D:D,"山田") こうしてみると一応成功しました。 しかし動作が重くなり、処理に数秒かかるようになってしまいました。 (B:Bなどひとつの列なら、数式を記入した瞬間に結果がでます) できれば数式は短くシンプルにしたいので、前述の短い形式のようにならないものか、と思います。 COUTIFS関数で、検索範囲を「○列~△列」のようにできないものでしょうか? アドバイスをよろしくお願いします。

  • COUNTIFS関数で日付データを数えたい

    COUNTIFS関数で日付データを数えたいのですがうまくいかず悩んでいます。 以下のようなデータがあります。 A列       B列 9月1日(日)  件数 9月2日(月)  件数 9月3日(火)  件数 9月4日(水)  件数 データはデータシートに A列 2014/9/1 21:32 2014/9/1 21:31 2014/9/2 20:31 2014/9/2 21:26 2014/9/3 19:25 2014/9/3 21:30 2014/9/4 18:10 このような形にあります 上以外にも条件があるのでCOUNTIFS関数で件数をかぞえようと思い 9月1日の件数を数えるB1に (1) =COUNTIFS(データ!A1:A7,">=A1",データ!A1:A7,"<A2") といれてみましたがうまくいきません。 (2) =COUNTIFS(データ!A1:A7,">=2014/09/01",データ!A1:A,"<2014/09/2") とすると件数がでてきました。 日付データを直接入力せず (1)のようにセルで入力するにはどのようにすればいいのでしょうか また、他に方法があれば教えていただけないでしょうか よろしくお願いいたします。

  • Excel COUNTIFSでカウントできません

    Excel2007を使用しています。 複数の検索条件から、データの数をカウントしたかった為、COUNTIFSを使用してカウントしようとしたところ、エラーが返ってきてしまいました。 実際のではありませんが、下記のように記入しました。 =COUNTIFS(A:C,1,D:D,2) SUMPRODUCT((A:C=1)*(D:D=2)) なら、一応やりたいことは出来たのですが、動作が重くなってしまいました。 (面倒がらず列選択せず、きちんと範囲指定すれば別なのかもしれませんが) 何かスマートなやり方があれば、ご教授頂ければと思います。

専門家に質問してみよう