• 締切済み

アンケートの相性率を調べたいんです。

エクセルを使用して以下の内容で相性率を求める事は出来るでしょうか? (1)男女に同じ内容のアンケートを回答してもらう (例)「恋人に誕生日のお祝いをしてもらうならどちらがいい?」という質問に2つの回答を用意します。 A:自宅で二人きりのお祝い B:仲間を呼んでもらい盛大なお祝い (2)上記のような内容の質問を8個くらい回答してもらう(必ず回答の選択肢はAorBの2つにします) (3)男女10人ずつ計20人が回答した場合に「女性▲▲さん」と異性である「男性10人の中から同じ回答が多かった人」との相性率を求めたいのです。 女性▲▲さん 問(1):A 問(2):B 問(3):A 問(4):A 問(5):B 問(6):A 問(7):B 問(8):B 男性●●さん 問(1):A 問(2):B 問(3):A 問(4):A 問(5):B 問(6):A 問(7):A 問(8):A  上記は問(1)~問(6)までは二人とも同じ回答で問(7)と問8は回答が異なりました。 この場合は8個の問題中6個が一致していたので二人の相性率は75%になります。 もちろん他にも9人の男性がいるので、「女性▲▲さん」対「男性10人分」のデータを照合する必要があります。 もちろん2人目の女性「女性★★さん」と「男性10人分」のデータ照合も必要です。 女性3人目-男性10人 女性4人目-男性10人・・・・・と続いていきます。 男性と女性で総当り的に同じ回答である相性率を出す場合にエクセルで可能でしょうか? ※「男性対男性」「女性対女性」は不要です。 ちなみにアクセスは使用した事がないのでエクセルで可能な場合にご回答をお願い致します。

みんなの回答

  • aquago
  • ベストアンサー率14% (1/7)
回答No.1

VBscriptを使えば割と簡単に出来るとおもいますよ。 最初の人のデータをA列に入れます A1にMan/Womanをいれて A2-A9に質問回答を入れます。 次の人はB列に同じように、その次はC列といれます。 VBScriptは次のような感じです i=0,j=0,k=0 do while (cells(i,0)<>"") j=0 se=cells(i,0) do while (cells(j,0)<>"") if cells (j,0)<>se then count=0 for k=1 to 9 if cells(i,k)=cells(j,k) then count++ endif next cells (i,j+10)=count/8*100 endif j=j+1 loop i=i+1 loop