• ベストアンサー

男女別参加者数

Excel2007の添付図にて、 参加コードの1は参加、0はキャンセル、空白は申し込みなし。 この表から男女別参加者数を求めたい。 ここで男はADFの3名となる。

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

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

1で男: =COUNTIFS(A:A,1,C:C,"男") 1で女: =COUNTIFS(A:A,1,C:C,"女") 実際には勿論,添付図のように集計する。

その他の回答 (4)

回答No.5

Excelのバージョンが2007ですのでNo2の方の計算式が楽だと思いますけど、別の方法として配列数式も立ててみました セルF3に・・・ =COUNT(IF(($C$2:$C$7=F$2)*($A$2:$A$7=1),$A$2:$A$7)) の式を入れて「Ctlr」+「Shift」を押しっぱなしにしておいて最後に「Enter」を押します この式を右へコピーします F3セルには式の前後に{}が入り{=COUNT(IF(($C$2:$C$7=F$2)*($A$2:$A$7=1),$A$2:$A$7))}←こんな感じの式になります 

aerio
質問者

お礼

コメントありがとうございます。 言われる通り、No.2が簡単かつ直観的という意味で使わせてもらいます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 ANo.3です。 >この式では男の数にはなりますが、eは参加コードが0ですのでキャンセルを意味し、参加者に入りません。答えが3ではなく4になりませんか?  いいえ、0を何回足したとしても、0のままですから、合計数に影響する事は無く、参加者コードに入力されている数の内、C列が男となっている行のみの合計は3となります。  これが例えば、0や1ではなく、2や3といった数が入力されている場合には、カウントがが合わなくなります。  この様な短所はありますが、SUMIF関数は、Excel2007よりも前のバージョンでも使用可能というメリットがあります。(COUNTIFS関数はExcel2007以降でないと使えません)  それから、Excel2007よりも前のバージョンでも使用可能な関数であるSUMPRODUCT関数を使用して、 =SUMPRODUCT(($A$2:$A$6=1)*($B$2:$B$6="男")) とすれば、参加者コードに1以上の数値が入力されている場合でも、正しくカウントする事が出来ますが、SUMPRODUCT関数は計算処理に要する負荷が大きくなり易いため、参加者人数が何千人もいる場合には、結果が表示されるまでに時間が掛かる様になります。(2000人前後までなら大したことは無いと思います)  ですから、もし、Excel2007よりも前のバージョンで使用する事を全く考慮する必要が無い場合には、COUNTIFS関数を使うのが正解ですし、 Excel2007よりも前のバージョンで使用する事を考慮する必要がる場合で、且つ、参加者人数が2000人以下の場合には、上記のSUMPRODUCT関数を使う方が良いですし、 Excel2007よりも前のバージョンで使用する事を考慮する必要がる場合で、且つ、参加コードに入力される値の内、数値データとなるものは0と1以外にはない、というルールがきちんと守られている場合には、SUMIF関数を使う方法が良いと思います。

aerio
質問者

お礼

参加コードとして文字Aではなく、数字の1を使ったのは足し算できるのが目的でした。それで、sumが使えるのをを忘れていました。 参加コードが文字Aでは同じ結果にはならないはずですね。 #2より簡単な式になること分かりました。アドバイスありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、参加と記されているセルがA1セルで、男女と記されているセルがC1セルであるものとします。  御質問の様に、参加者が数字の1で、その他の場合は0か空欄のみという条件でしたら、次の関数で、参加者の人数を求める事が出来ます。 男の参加者人数を求める関数 =SUMIF($C:$C,"男",$A:$A) 女の参加者人数を求める関数 =SUMIF($C:$C,"女",$A:$A)

aerio
質問者

お礼

コメントありがとうございます。 この式では男の数にはなりますが、eは参加コードが0ですのでキャンセルを意味し、 参加者に入りません。答えが3ではなく4になりませんか?

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

ピボットテーブルは試されたましたでしょうか。 挿入=>ピボットテーブル でウィザードに従っていけば 添付の画像の様になります。

aerio
質問者

お礼

pibott table ここでは少し大げさになりますが、 男女のほか会員・非会員、乗車駅の区分分けもありますのでその時使うことにさせてもらいます。 アドバイスありがとうございました。

関連するQ&A