• 締切済み

エクセル countifs関数について

エクセル countifs関数について 上記を使い、相談受けた内容や人の情報を日付ごとにまとめているデータを集計するやり方です。 その中にあるデータ 男 の数を月ごとにまとめたいのですが、 データは、同じ日なら、同じ列に追記していく形になっているので、 countif(c2:d34,〝男〝)として、 複数範囲 を選択し、男のデータを集計しておりました。 ただ、月ごとに自動で選択されるように h列に month関数で月の値を求めてから、 i列にi2から月の数字として、4~3 の値 入力。 式をcountifs(c:g,〝男〝,h :h,i2) としたところ、エラーとなり、データを求めることができませんでした。 範囲を、複数範囲と列 で設定しているのが、よくないと思うのですが、うまくやる方法ないですかね。 列 と列で揃えるしかないですかねぇ。 もし、よい方法があれば、ご教示ください。 ※データを言葉だけで表現しているので、大変わかりにくくて申し訳ありません。 countifsの考え方を知りたいというのが目的なので、実際の式、データよりは、かなり簡潔にして記載しております。

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.7

こういう事がしたいかな? 添付の図を見てください。 COUNTIFSは検索条件範囲のサイズを合わせる必要がありますので、L列を作業列として使い、同じ行のC:G列の「男」の個数をカウントしたデータを作ります。L2に↓の式を入れています。 =COUNTIF(C2:G2,"男") 後は、J2に↓の式を入れると、月別に「男」が有る日をカウントします。 =COUNTIFS(L:L,">0",H:H,I2)

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.6

確認させてください。 下記、矛盾してません? 質問文》 データは、同じ日なら、同じ列に追記していく形 [No.1補足]》 同じ行に同日のデータを左→右に追加していく形 あと、質問文に登場した記述で、下記は間違いナシ?「男」「女」が入力される列は何処何処? countif(c2:d34,〝男〝) countifs(c:g,〝男〝,h :h,i2)

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>i列にi2から月の数字として、4~3 の値 入力。 >式をcountifs(c:g,〝男〝,h :h,i2) >としたところ、エラーとなり、データを求めることができませんでした。 >countifsの考え方を知りたいというのが目的なので、・・・・ それはCOUNTIFSの仕様で複数列から検索する場合は検索条件範囲のサイズを同じにする必要があります。 つまり、C:Gの範囲で"男"を検索し、次の条件でH:Hでは列数が一致しませんのでH:Lの範囲でM2の値を検索します。 AND(C2="男",H2=M2)、AND(D2="男",I2=M2)、AND(E2="男",J2=M2)、・・・・のように組み合わせでカウントします。

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • SI299792
  • ベストアンサー率48% (716/1482)
回答No.4

同じ行に同日のデータを左→右に追加していく形です。 意味が分からないのですが。 同じ行に男が2つ在った時も1つと数えるということでしょうか。 COUNTIF を使っても、同じ行に男が2つ在れば2つと数えますが。 最初に紹介した、J列をワークエリアに使う方法なら、同じ行に男が2つ以上在っても1つと数えます。 ワークエリアを使わずにやりたいのであれば、 =SUMPRODUCT(((C2:C34="男")+(D2:D34="男")+(E2:E34="男")+(F2:F34="男")+(G2:G34="男")>0)*(H2:H34=I2)) です。

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • SI299792
  • ベストアンサー率48% (716/1482)
回答No.3

何回もすみません、SUMPRODUCTは計算に時間がかかります。計算範囲が決まっているなら、 =SUMPRODUCT((C2:G34="男")*(H2:H34=I2)) にした方がいいです。

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • SI299792
  • ベストアンサー率48% (716/1482)
回答No.2

すみません。さっきの式は間違いです。 COUNTIF で数えているということは、同じ行で、C列とD列など2か所に男が入ることはあり得ないということですね。その前提条件で、 =SUMPRODUCT((C:E="男")*(H:H=I2)) にして下さい。

yamato514
質問者

お礼

お礼遅くなり申し訳ありません。 ありがとうございました。

  • SI299792
  • ベストアンサー率48% (716/1482)
回答No.1

=SUMPRODUCT(OR((C:C="男"),(D:D="男"),(E:E="男"))*(H:H=I2)) COUNTIFSでやるなら、J列をワークエリアに使い、 J3 =ISERROR(MATCH("男",C3:E3)) にして、 =COUNTIFS(J:J,FALSE,H:H,I2) にする必要があります。

yamato514
質問者

お礼

ありがとうございます。 後、質問 訂正 すいません 同じ行に同日のデータを左→右に追加していく形です。

関連するQ&A

  • COUNTIFS関数について

    EXCELのCOUNTIFS関数について質問させてください。 I列に部署名(7~8種類) BC列に残業時間(10:00や30:00など[h]:mm表記に設定) が入力されたデータが950件弱あります。 社内全体の残業時間を出すことは出来たのですが 部署別で尚且つ、40時間越え〇人・50時間越え〇人 というように区切って集計する事が出来ませんでした…。 使ってみた関数は下記の通りです。 =COUNTIFS(I3:I706,対象部署,BC3:BC706,">=40:00") 結果は何度やってもエラーか【0】になってしまいます。 どなたか力を貸してください。 具体的な関数とアドバイスを頂けると幸いです。 宜しくお願い致します。

  • エクセル countifs関数の記述法を教えて

    画像の一覧表から、A列に"○"が付いた行だけについて、75歳~79歳の男性の人数をカウントしたいのですが。 "○"を付けるする前の一覧表については、先の質問(No.8135362)で回答をいただき解決しました。    =COUNTIFS(C2:I6,">=70",C2:I6,"<80",D2:J6,"男") で5人となります。 このたび、A列に"○"を付けた行だけについてカウントする必要になり、次の式を立てましたが、#VALUEがでてしまい、どうにもなりません。    =COUNTIFS(A2:A6,"○",C2:I6,">=70",C2:I6,"<80",D2:J6,"男") countifs関数に、subtotal関数のような機能があればよいのですが、わかりません。 思いつくのは、フィルターをかけた後、その一覧表を、別シートにコピーペーストしてから、最初の式でカウントする方法しか思いあたらないのですが。 実際の表はもっとずっと大きいので、ひとつの関数式でできないものかと思っています。 よろしくお願いします。

  • 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)を一つの式にすると、エラーになります。 何が悪いのでしょうか。

  • EXCELの countifs関数について教えてください!

    EXCELの countifs関数について教えてください! 複数条件の中に、「<2010年10」という検索条件を使っています。 先月まで(<2010年9月)までは問題なく拾っていたにもかかわらず、 「<2010年10」「<2010年11」「<2010年12」はなぜか正しく拾ってくれません。 ちなみに、「2010年10」の列には 「=YEAR($C20)&"年"&MONTH(C20)」が組まれております。 どなたかご存知の方がいらっしゃいましたらご教示ください。 宜しくお願い致します。

  • エクセル、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列にあるA商店 C列にある掛け売り といったようなカウントをする場合 どのように設定すればいいのでしょうか?

  • Excel2003におけるCountIFS関数

    Excel2003におけるCountIFS関数 Excel2007にはCountIFS関数というのがあり、一覧表から複数の条件を満たしたデータ(行)の件数をカウントできると思います。 この関数のExcel2003版は無いのでしょうか? クロス集計表を作成したいのですが、ピボットテーブルだと、件数がゼロ件の見出しは表示されないので、自分で手作りしたいと思っています。 教えて下さい。宜しくお願い致します。

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

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

  • 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について

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

専門家に質問してみよう