• 締切済み

エクセルを使って順位の期待値を出したいです。

ABCに123を当てはめるとAから123、132、213、231、312、321で平均Aから2、2、2です。 A<Bという条件を付けるとAから123、132、231で平均Aから(1、33)、(2、67)、2です。 さらにA<Cという条件を付けると123、132で平均Aから1、(2、5)、(2、5)です。 さらにB<Cという条件を付けると123だけとなり平均はAから1、2、3です。 このように大小の条件を付けて成り立つ組み合わせを絞り込み、平均だけを出したいのです。エクセルを使って条件を入れるだけで簡単に平均だけを出したいのですが何か方法はないでしょうか?今回は説明のためにABCだけでしたが実際はAからPに1から16を当てはめたいです。ある大会で順位の期待値を出すために使用しようと思っています。

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.3

すみません。#1の考え方は間違っていたようです。 pとqは文字ごとに求めるので、Aの平均を出したい場合は、Aと関係のない条件は考える必要はないと思っていたのですが、Aと関係のない条件も影響してきますね。 #1の回答は無視してください。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

#1です。訂正です。最後の方の不等号が逆になっていました。 正しくは、 条件がA<BとA<Cなら、p=0,q=2なので 条件がA<BとA>Cなら、p=1,q=1なので 条件がA>BとA>Cなら、p=2,q=0なので

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

16!≒2.09×10^13 なので、まともに数えるのは現実的ではないでしょう。 文字の個数をnとします。 1つの文字Aだけに注目し、条件から、Aより前の個数p、Aより後の個数qを数えます。 例えば、 条件がA<Bだけなら、p=0、q=1 条件がA<BとA<Cなら、p=0、q=2 条件がA<BとA>Cなら、p=1、q=1 というように。 そうすると、条件に現れる文字(p+q+1)個だけの並びを考えると、Aの位置はp+1番目になります。 残りの(n-(p+q+1))個を、それらの並びの間に入れると、 Aの前に0個入れた場合、1個入れた場合、2個入れた場合と分けて考えると、 Aの位置の平均は、 Σ[k=0・・・n-p-q-1]{(p+k+1) * (p+k)Ck * (n-p-k-1)C(n-p-q-k-1)} / nC(n-p-q-1) あとは、p,qを数える仕組みと上記の平均の計算式をエクセルに組み込んでください。 ABCの場合で確認すると、 平均=Σ[k=0・・・2-p-q]{(p+k+1) * (p+k)Ck * (2-p-k)C(2-p-q-k)} / 3C(2-p-q) 条件が何もなければ、p=q=0なのでAの平均は、 Σ[k=0・・・2](k+1) / 3C2 = 2 条件がA<Bだけなら、p=0,q=1なのでAの平均は、 Σ[k=0・・・1]{(k+1) * (2-k)C(1-k)} / 3C1 = 4/3 条件がA>Bだけなら、p=1,q=0なのでAの平均は、 Σ[k=0・・・1]{(k+2) * (1+k)Ck} / 3C1 = 8/3 条件がA>BとA>Cなら、p=0,q=2なのでAの平均は、 Σ[k=0・・・0](k+1) / 3C0 = 1 条件がA>BとA<Cなら、p=1,q=1なのでAの平均は、 Σ[k=0・・・0](k+2) / 3C0 = 2 条件がA<BとA<Cなら、p=2,q=0なのでAの平均は、 Σ[k=0・・・0](k+3) / 3C0 = 3

gashigeru
質問者

お礼

難しい計算式作ってくれてありがとうございます。計算式の意味は何とか理解する事が出来ました。pには確実に上回っているチーム数、qには確実に下回っているチーム数を入れればいいわけなんですね。あとはA<BでさらにB<Cになったりした時の対処法ですね。このようにAと関係のない試合でpやqが増えたりする場合があるんです。パソコンに入力する時間がかかると困ってしまいます。実はカルタ大会で使用しようと思っており、一斉に始まって一斉に終わります。入力に時間がかかると参加者をそれだけ待たせる事になってしまいます。でも計算式ありがとうございます。きっと誰かこの対処法もひらめくのではと期待しています。このサイトにも感謝。