2列目の依存関係を持つ一意の値の割合を取得します。

2列目の依存関係を持つ一意の値の割合を取得します。

人々に送ったアンケートがあります。1 つの質問では性別を尋ね、もう 1 つは頭痛があるかどうかを尋ねました。現在、Excel ファイルに結果があり、分析しようとしています。
しかし、統計を計算するのに問題があります。

ここに画像の説明を入力してください

私がしたいのは、頭痛を経験する人のうち男性が何パーセントで、そのうち女性が何パーセントであるかを計算することです。

そのコンセプトは
# people that are men AND experience headaches /
# of people that experience headaches

どうすればそれらのパーセンテージを取得できますか?

答え1

通常countifの依存関係は、複数の列では機能しません。SUMPRODUCT代わりに を使用します。

  1. この数式は、男性そして頭痛本当です。

    =SUMPRODUCT((A1:A100=1)*(B1:B100=1))
    

    必要に応じて、式を拡張して 3 つ以上の依存関係を持つこともできます。
    ...*(C1:C100=x)...

    出力例 = 2

  2. 頭痛のある人の数を取得するには、 を使用しますCOUNTIF。ここでは、検索する列が1つだけだからです。

    COUNTIF(B:B,1)
    

    出力例 = 6

  3. これら2つの式を組み合わせるだけです

    =SUMPRODUCT((A1:A100=1)*(B1:B100=1)) / COUNTIF(B:B,1)
    =SUMPRODUCT((A1:A100=2)*(B1:B100=1)) / COUNTIF(B:B,1)
    

    出力例 = 2/6 = 0,333333 = 33,33 %
    出力例 = 4/6 = 0,666667 = 66,67 %

    最初の処方は頭痛のある男性用、2番目の処方は頭痛のある女性用です


最初の式には=SUMPRODUCT((A1:A100=1)*(B1:B100=1))、同じ結果をもたらすいくつかの代替式があります。お気に入りを選択してください。

  • {=SUM(IF((A1:A100=1)*(B1:B100=1),1))}

  • {=SUM((A1:A100=1)*(B1:B100=1))}

  • {=SUM(N(A1:A100&B1:B100=1&1))}

  • =COUNTIFS(A:A;1,B:B,1)» Excel 2003 では利用できません

  • {=SUM((A:A=1)*(B:B=1))} » Excel 2003 では利用できません

それらのほとんどは配列数式 {...}CTRL+ SHIFT+で入力されますENTER

ソース

答え2

AVERAGEもう一つの方法は、このような関数を使うことです

=AVERAGE(IF(B2:B100=1,IF(A2:A100=1,1,0)))

確認済みCTRL+ SHIFT+ENTER

B2:B100 = 1(頭痛を経験した)の場合、男性か女性かによって1または0が返され、それらを平均すると正しいパーセンテージが得られます。

関連情報