アンケートの回答を数えようとしています。この質問に回答値「1」で回答した人が何人いるか知りたいのですが、アンケートに複数回回答した人がいます。アンケートに 3 回回答し、1 回目に「1」、2 回目に「2」、3 回目に「1」と答えた場合、その人の回答値は 1 になります。次のデータの場合、
JM 27/03/2015 2
DR 10/04/2015 2
AD 24/04/2015 2
DR 15/05/2015 1
AD 29/05/2015 1
AD 20/06/2015 2
AD 04/07/2015 1
DR 18/07/2015 1
DR 31/07/2015 2
JM 15/08/2015 2
JM 22/08/2015 2
正しい計算式では「2」になります。DR と AD はどちらも「1」と回答したことがあるのに対し、JM は「2」しか回答していないからです。多くのオプションを試しましたが、うまくいきません。各人は 1 回だけカウントする必要がありますが、アンケートに複数回回答している人が多くいます。何か提案はありますか。
答え1
これはAccessで実行する方がはるかに簡単ですが、追加の列を作成できると仮定すると、D1 =IF(C1=1,A1,"")
すべてのレコードに対して設定してドラッグ/コピーすることができます。この時点で、関数
=IF(COUNTIF(D1:D11,"")=0,
SUM(IF(FREQUENCY(MATCH(D1:D11,D1:D11,0),MATCH(D1:D11,D1:D11,0))>0,1)),
SUM(IF(FREQUENCY(MATCH(D1:D11,D1:D11,0),MATCH(D1:D11,D1:D11,0))>0,1))-1)
セルに入力すると、目的の値が返されます。
Eirikdaude は、リンクされたソリューションの 3 行のコードよりもはるかに簡単なソリューションを見つけました。
=SUMPRODUCT((D1:D11<>"")/COUNTIF(D1:D11,D1:D11&""))
はるかに簡単です!