• ベストアンサー

こういう場合、どの関数を使えば・・・

エクセルに下記のデータが入力されているとします。 例)ある集団に所属している人のリストがあります。 列Aには出身地が、列Bには血液型が入力されています。 このデータの集計をする際、 例えば、東京都出身でかつA型の人が何人いるかを数えたい場合、 どんな関数を使えばいいのでしょうか? わたしは「COUNTIF」を使うと思うのですが、関数を組み合わせる必要があるみたいで、どのようにすればよいのかわかりません。 どなたかエクセルのプロの方、ご教授お願いします!!

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

A1:B10に入力があるとして、 =SUMPRODUCT((A1:A10="東京")*(B1:B10="A型"))

icco6
質問者

お礼

ありがとうございます。 早速使ってみました。ばっちりでした。 この式はどういう意味になるんでしょうか?

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

>わたしは「COUNTIF」を使うと思うのですが、 COUNTIF というのは、応用力のない関数なのです。 ですから、どうしても使いたい場合は、補助列を使って、 例えば、C列に、 =A1&B1 で、同じ行数だけ下に、ドラッグ・コピーしてから、 =COUNTIF(C1:C10,"東京A") とします。 なお、#1 のpapayukaさんの 変形版ですが、 =SUMPRODUCT((A1:A10&B1:B10="東京A")*1) こんな方法が考えられます。 それから、 >COUNTIFは、条件が一つしか出来ないようなので COUNTIF(範囲,検索条件) 検索条件は、複数でも、配列でも受け付けるのですが、 肝心の範囲が、配列を受け付けないのです。なぜ、配列を受け付けないのか理由がわかりません。(Microsoft社は、直してくれないかしらね)だから、今回のような場合、COUNTIFでは、AND検索が出来ません。OR検索なら配列数式にして、出来ます。

icco6
質問者

お礼

COUNTIF って実はあまり使えないんですね。 勉強になりました。ありがとうございます。

  • Piazzolla
  • ベストアンサー率44% (88/196)
回答No.3

COUNTIFは、条件が一つしか出来ないようなので、SUM関数とIF文を組み合わせ、条件に合うものを1、合わないものを0として、合計を求めてきます。 データはA1~A10とB1~B10にあるとします。 =SUM(IF(A1:A10="東京",IF(B1:B10="A",1,0),0)) 式を入力したら、[Ctrl] + [Shift] + [Enter] を押してください。

icco6
質問者

お礼

ありがとうございました。 1の方のアドバイスでできたので、まだ試してはないのですが是非試してみようとおもいます。

  • Kazupie
  • ベストアンサー率17% (56/323)
回答No.2

複数の関数と条件判断を組み合わせて、「ユーザー定義関数」を作成しないと難しいと思います。 それよりも「ピボットテーブル」を使ってみたら如何ですか? ツールバーが出ていなかったら、「表示」→「ツールバー」に「ピボットテーブル」が有ります。後はウィザードがあるので、ご質問のような分析が出来ます。 尚、使い方が分からなかったら、下のリンクを見て下さい。

参考URL:
http://hp.vector.co.jp/authors/VA014071/tips/xl_pvt3.html
icco6
質問者

お礼

わたしはピポットテーブルの使い方がよくわからないのですが、勉強して使えるようになろうと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう