取得依賴第二列的不同值的百分比

取得依賴第二列的不同值的百分比

我有一份問卷發給了人們。一個問題問他們的性別,另一個問題問他們是否頭痛。我現在必須產生一個 Excel 文件,並嘗試對其進行分析。
但我在計算統計數據時遇到了麻煩。

在此輸入影像描述

我想要計算出經歷頭痛的人中男性的比例是多少,女性的比例是多少。

我知道這個概念是
# people that are men AND experience headaches /
# of people that experience headaches

我如何獲得這些百分比?

答案1

法線countif不能將多於一列作為依賴項使用。代替使用SUMPRODUCT

  1. 該公式將計算所有行男人頭痛是真的。

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

    請注意,如果您願意,您可以擴展公式以具有第三個或更多依賴項 »
    ...*(C1:C100=x)...

    範例輸出 = 2

  2. 要取得頭痛人數,請使用COUNTIF,因為這裡我們只有一列要找

    COUNTIF(B:B,1)
    

    範例輸出 = 6

  3. 現在你只需要把這兩個公式結合起來

    =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 %

    第一個配方適合男性頭痛,第二個配方適合女性頭痛


第一個公式有一些替代方案=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,具體取決於他們是男性還是女性,對這些進行平均即可得出正確的百分比

相關內容