A列氏名、B列勝数、C列負数、D列対局数、E列勝率
の表に何人かのデータが入力されていてF列にその順位を表示させるにはどのような計算式をF列のセルに入れればよいでしょうか。ただし次の条件つきです。
(1)勝数の多いものを上位、同一勝数の場合は勝率の高い方を上位とする場合
(2)勝率の高い方を上位とするが、その者がA勝B敗
のとき(A+C)勝(B+D)敗の者のほうを上位とする場合
ただし、A,B,C,Dは正の整数でC>=Dのとき
また
(3)別の列(全員の分)に全員の相互の対戦の勝ち
負けが分かるようになっているとき、(1)とくみあわせ
勝数の多い者を上位、同一勝数のときは当事者同士の
勝者を上位、ここで3すくみになったときは勝率の高い方を上位と決めたとき
(4)同様に(2)の条件で順位が同一となったとき当事者同士の勝った方を上位とする場合
の4種類の条件ごとに順位を表示させる計算式を教えてください
No.5ベストアンサー
- 回答日時:
条件は質問者さんにしかわからないようなので、
一つヒントを書きます。
優先させたいもの順に左から項目を入力していきます。
例:
A1から 勝数、勝率、(2)で出た数値、年齢・・・
こんな感じに。
で、2行目に適当な数値を入力し、
E2に =A2*1000000+B2*1000000+C2*100+D2*-1
としてみてください。
この数字を元にランクをつけます。
これは、項目によって重みづけを分けていますよね。
わかっていただけるでしょうか?
なるほど、これで(1)はなんとかなりそうです。
ただ(2)~(4)はまだ自信がありません。
ここでもう一度質問の趣旨を説明いたします。
大会の規模(参加者数)が大きいときは勝数を優先させ、小さいときは勝率を優先させたいと考えました。ただ同一順位になったときのことを考え若干の条件を付加しました。これが(1)、(2)ですが(2)は対局数をかなり重視する欲張った条件を付けましたので複雑となったものです。
このほか更に欲張って順位同位者間の対戦結果などを反映したいと考え、(3)、(4)となりました。
申し遅れましたが大会参加者の対戦数が同一ではなく、かなりばらついているための苦肉の策です。
よろしくご教授下さい。またソフトはお察しのとおり「エクセル」です
No.12
- 回答日時:
#6
>このばあいは、F,E,D,H,G,C,B,A
D氏:5勝0敗(10割)
H氏:6勝2敗(7.5割)
だと、D=>Hの順ってことですよね。・・・(1)
では、
I氏:6勝1敗(8.6割)
が入ったらどうなりますか?
D氏:5勝0敗(10割)
I氏:6勝1敗(8.6割)
この二人を比べると
上位者 (a+c)勝(b+d)敗
下位者 a勝 b敗
でc>=d の関係が成立しているので
---------
上位者 (5+1)勝(0+1)敗
下位者 5勝 0敗
1>=1
---------
I=>D の順ってことになる。・・・(2)
H氏:6勝2敗(7.5割)
I氏:6勝1敗(8.6割)
この二人を比べると
上位者 (a+c)勝(b+d)敗
下位者 a勝 b敗
でc>=d の関係が成立しない
---------
H氏 (6+0)勝(6+1)敗
I氏 6勝 1敗
0>=1
---------
I=>H の順ってことになる。・・・(3)
だと、D=>Hの順ってことですよね。・・・(1)
I=>D の順ってことになる。・・・(2)
I=>H の順ってことになる。・・・(3)
よって、
I=>D=>H
これで、合っていますか?
この回答への補足
H氏(6+0)勝(1+1)敗
I氏 6勝 1敗
を比べると、C=0、d=1で C>=dを満足していないため H氏は I氏の上位にはなり得ず
ご指摘のように、I,D,H の順になります。
No.11
- 回答日時:
#9への補足を読みました。
> D2に=B2+E2と入れ、
D2に=B2+C2と入れ、ですね。
発想はとても面白いと思いました。しかし、他の方もおっしゃったようにまず、アルゴリズムの見直しが必要です。数学のカテで聞いてくださいませんか?ランク付けに重要な重み付けをする数式はかける、足す、で充分事足りると思います。私には少なくとも今は思いつきません。
関数でなければVBAで一つずつ丹念に見ていく方式がいいと思います。処理するのは何にせよまず大切なのは考え方ですね。
この回答への補足
ご指摘いただいたとおり、D2に=B2+C2と入れ、のまちがいでした。このほかに#9に対する補足だけでは質問の(2)の条件に対する演算式のみをF列にと要求しているように受け取られる恐れがありますが、F列の右に3列を挿入していただき、計4列として質問の(1)(2)(3)(4)に対する演算式を知りたいわけです。この場所を借りて補足(訂正)させていただきます。
補足日時:2005/02/25 20:52No.10
- 回答日時:
何度もすみません。
#9に間違いがありました。
A2から右に 5、0、=SUM(A2:B2)、=E2>=0.5、=A2/C2、20、=RANK(G2,$G$2:$G$3)
上の20の次の、項目「作業列」の下のセルですが
G2に =A2*10000+D2*10000+E2*100+F2
としてください。
その右のセル、H2が =RANK(G2,$G$2:$G$3) です。
No.9
- 回答日時:
#3、#4、#5、#7、#8です。
これで6回目の回答となります。
#8は読んでいただけたでしょうか。
#5に対するお礼を拝見しましたが、
数学のカテゴリで、順位のつけ方を質問され、
やりたいことがはっきりしてから再度ここで質問されてはどうでしょう?
やりたいことがわかれば、回答は出ます。
そして次からの質問には、どのセルに何が入力されていると
具体的に書いてください。
例えば#8の私の回答のように。
いかがでしょうか。
この回答への補足
何回もご解答恐縮です。補足が追いつかないですみません。具体的に書きましょう
セルA1に対局者名と入れ、A2から下方にA,B,C,D,E,F,G,Hと8人の名前を入れます。
セルB1に勝数と入れ、B2から下方に2,3,4,5,7,8,4,6
と入れます。セルC1に負数と入れC2から下に0,1,2,0,2,3,0,2と入れます。D1に対戦数と入れ、D2に=B2+E2と入れ、フィルハンドルで引き下げます。E1に勝率と入れE2に=B2/D2と入れ、同様に引き下げます。(IF関数を使い、D2が0のときは””にすることも勿論入れておきます)F1には順位と入れます。
こうすると#6の回答者さんが書かれているA氏2勝0敗、勝率10割・・・・以下の表が出来るでしょう。
この回答に私が補足したような順位結果がF2以下に出るようにしたいのです。よろしくお教えください。
更に補足しますと、質問(3)、(4)のため用意する列はG1~N1にA~Hと入れてお互いの対戦結果を
例えば、H2に1と入れてA氏がB氏に1勝していることを表すこととし、以下同様に相互の対戦結果を入れていって表を完成させます。自分と自分の対戦は無いため、G2には数値を入れることは無いので、G2セルの
左上から右下にいたる対角線を予め入れておきます
この対角線は更にH3,I4・・・とのびてN9にいたることがお分かりでしょう。お互いに対戦の無いときはそのセルは空白のままとします。このようにすればG2からN2までの数値の和はA氏の勝数の和となります。
すなわちB2=SUM(G2:N2)などとすれば先に述べたB列の数値が自動的に入力されます。一方G~N列を縦に合計
すればA氏から~H氏までのそれぞれの負数の和が出ますのでこれをC列に入れれば負数も自動的に計算できます。またお互いの交点を見れば行には勝数、列には負数が入っていますのでお互いの勝ち負けもわかります。更にO列を作って、生年月日を入力しておけば、同一順位になったとき年長者順という、条件も加味するようにしたいものです。長々と記しましたが。おわかりいただけたでしょうか。
No.8
- 回答日時:
次のように入力してください。
A1から右に 勝数負け試合数勝率5割以上か勝率年齢作業列ランク
A2から右に 5、0、=SUM(A2:B2)、=E2>=0.5、=A2/C2、20、=RANK(G2,$G$2:$G$3)
A3から右に 6、13、C3:E3は上の行をコピー、F3に20、G3は上のセルをコピー
結果は期待したものになりましたか?
※あ、年齢が高いと損なんですね。先ほどはマイナス1をかけたんですが、かけなくてもいいですね。直しました。
※また、何に重きを置くかはそれぞれの考え方なので、それについては全く考慮に入れていません。
No.6
- 回答日時:
(2)は、アルゴリズムからして無理なのでは?
仕様を整理しましょう。
例えば
○勝×敗(勝率)とし
A氏:2勝0敗(10割)
B氏:3勝1敗(7.5割)
C氏:4勝2敗(6.6割)
D氏:5勝0敗(10割)
E氏:7勝2敗(7.7割)
F氏:8勝3敗(7.2割)
G氏:4勝0敗(10割)
H氏:6勝2敗(7.5割)
の場合、順位はどうなりますか?
> 勝率では上位の5勝0敗者より
> (5+2)勝(0+2)敗者、すなわち
> 7勝2敗者を上位とするということです
で書いているように
勝率の低いE氏が
D氏より上位なんですよね。
では、ABC各氏は、E氏と比べると順位は?
この回答への補足
このばあいは、F,E,D,H,G,C,B,A
の順に1~8位と決めたいのです。
上下隣接する2者の間で、必ず
上位者 (a+c)勝(b+d)敗
下位者 a勝 b敗
でc>=d の関係が成立していることが
お分かりいただけたかと思います。
勝率だけでなく、対戦数をかなり重視した結果です。
大会参加者の対戦数にばらつきがあるため、勝率だけでは対戦数の多い者が報われないのでこの案を考え出したものです。ご理解いただけましたでしょうか。
No.4
- 回答日時:
#3です。
> a=5,b=0,c=2,d=2 c=d
この値はどこに入力されていますか?
この回答への補足
説明が下手ですみません。例えば
セルB2に5が、C2に0が、B3に7が、C3に2が
入力されていたときをいいます。
セルA2に名前が出ている人(A2さんとする、以下同様)の成績は5勝0敗、A3さんの成績は7勝2敗でA2さんの勝率の方がA3さんの勝率より高いがc=dなのでc>=dを満足しているため、A3さんの方を上位とするものです。
大会での各人の対戦数がまちまちであるため、勝率とともに、対戦数をも評価の対象としたいので、この案を思いつきましたが、評価の対象数値が複数の列にまたがっているためRANK関数をどう使ってよいかわからなくなりました。よろしくおしえてください。
No.3
- 回答日時:
(1)
F列を作業列にし、F2に =B2+E2
G2に =RANK(F2,$F$2:$F$10) で下までコピーしてください。
(2)
(1)の話ではA勝B敗はB2勝C2敗ですね。CとDはどこの数字ですか?
(3)
> 別の列(全員の分)に全員の相互の対戦の勝ち
> 負けが分かるようになっているとき、
総当りですか?1行目の見出しに全員の名前が並んでいて、
交差したセルには何と入力されているのですか?
(4)
すでに(3)で当事者同士の勝ち負けが出ているのに、
(4)で更に持ち出すのはどうしてでしょう?
#5でお礼をいたしましたが、ここで、すでに(1)のご解答をいただいていたのですね。重み付けも自然にちゃんと付けられていました。見落としていて申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) RANK.EQとCOUNTIFSの組み合わせで同ポイントの場合、違う条件を加えて順位を付けたい。 1 2022/08/30 19:49
- 野球 WBCの1次ラウンドの先攻後攻は、どうやって決めているのでしょうか? 4試合なので、2試合先攻、2試 1 2023/03/11 17:37
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- サッカー・フットサル Jリーグ。J2,J3の上位DIV昇格基準が、1位2位ってのはあまりにも狭き門では? 1 2023/08/13 19:36
- その他(ビジネス・キャリア) 私は会社の同僚の失敗が大好きです。 それは何故かと言いますと、誰かのミスは自分の社内ランキングを上げ 1 2023/03/19 12:42
- 政治 安倍自公政権のアベノミクスとやらで、日本が経済成長し、景気・内需も良くなった? 2 2022/05/04 10:30
- サッカー・フットサル グループリーグ1位通過国と2位通過国では、次戦の勝率が結構違いますか? ワールドカップ 2 2022/11/26 05:25
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- サッカー・フットサル 「日本を倒してくれ!」とスペインに頼むとか、ドイツも落ちたものだ 2 2022/11/28 20:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報