• 締切済み

エクセル 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% (368/1812)
回答No.6

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

yamato514
質問者

お礼

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

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答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
  • ベストアンサー率47% (788/1646)
回答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
  • ベストアンサー率47% (788/1646)
回答No.3

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

yamato514
質問者

お礼

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

  • SI299792
  • ベストアンサー率47% (788/1646)
回答No.2

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

yamato514
質問者

お礼

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

  • SI299792
  • ベストアンサー率47% (788/1646)
回答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