アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問願います。
EXCELにて、RANK関数を使って順位付けをする事を理解しています。
スポーツの順位を勝ち点順に並べるのですが、総勝ち点が同点の場合、次に総得点で順位を確定させます。

この場合、順位付けする数値を勝ち点を優先参照・総得点を次に参照させる事は出来ますか?
RANK以外の関数も併用すれば良いのでしょうか?

どなたか回答お願い致します。

A 回答 (5件)

総勝ち点が例えばA1セルに50のときに総得点がB1セルに10であったとします。

この場合には作業列を作ってC1セルには例えば次の式を入力して重みを付けた値にします。

=A1+B1/1000

C列のデータについてRANK関数を使うことにすればよいでしょう。
    • good
    • 3
この回答へのお礼

回答有難うございました。
時間に余裕が無かったので、簡便な方法として

■RANKの列を用意して計算する方法
総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

を使わせて頂きました。

皆さん多くの方法のご教授有難うございました。
それぞれゆっくり試してみます。

お礼日時:2010/11/23 16:16

こんばんは!


色々方法はあるかと思いますが・・・
一例です。
↓の画像のように作業列を1列使っています。
この列は勝ち点と総得点を数値化しています。
まず勝点1に対して10倍、それに総得点を加えています。
仮に、この段階で同順位があっても、同じ順位にならないようにしてみました。
(万一、作業列でも同順位の場合は上側の行の人が上位になります)

作業列H2セルに
=IF(D2="","",D2*10+E2)
という数式を入れ、オートフィルでずぃ~~~!っと下へコピー!

そして、順位のF2セルに
=IF(H2="","",COUNTIF($H$2:$H$100,">"&H2)+COUNTIF($H$2:H2,H2))
(100行目まで対応できる数式にしています。)
という数式を入れオートフィルで下へコピーすると
画像のような感じになります。

実際にあるかどうか判りませんが、
順位(勝点)が下位でも総得点が上位の人より上回っている場合も対応できると思います。

以上、参考になれば良いのですが・・・m(__)m
「RANK関数 同点の場合違う項目で序列を」の回答画像5
    • good
    • 1
この回答へのお礼

回答有難うございました。
時間に余裕が無かったので、簡便な方法として

■RANKの列を用意して計算する方法
総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

を使わせて頂きました。

皆さん多くの方法のご教授有難うございました。
それぞれゆっくり試してみます。

お礼日時:2010/11/23 16:15

 今仮に、Sheet1の


A列にはチーム名、B列に勝ち点、C列に総得点のデータが入力されていて、各列の1行目にはそれぞれ、
A1に「チーム」
B1に「勝ち点」
C1に「総得点」
という様に項目名が入力されているものとします。
 そして、Sheet2のA列に勝ち点と総得点で決まる順位の順番にチーム名を表示し、その隣のB列に、A列で表示したチームの順位を表示するものとします。
 但し、勝ち点と総得点が共に同じチームが複数存在する場合は、そのチーム同士に関しては、Sheet1で入力されている順番に並べて、Sheet2のB列には同じ順位を表示するものとします。
 又、Sheet3のA列とB列を作業列として使用するものとします。

 まず、Sheet3のA2セルに次の数式を入力して下さい。

=IF(Sheet1!$A2="","",Sheet1!$B2+Sheet1!$C2/MAX(Sheet1!$C:$C))

 次に、Sheet3のB2セルに次の数式を入力して下さい。

=IF(Sheet1!$A2="","",$A2+1/(COUNTIF($A$2:$A2,$A2)*MAX(Sheet1!$C:$C)))

 次に、Sheet3のA2~B2の範囲をコピーして、同じ列の3行目以下に、Sheet1のリストの行数と同じか、又はそれ以上の行数になるまで、貼り付けて下さい。

 次に、Sheet2のA2セルに次の数式を入力して下さい。

=IF(ROW(A1)>COUNT(Sheet1!$C:$C),"",INDEX(Sheet1!$A:$A,MATCH(LARGE(Sheet3!$B:$B,ROW(A1)),Sheet3!$B:$B,0)))

 次に、Sheet2のB2セルに次の数式を入力して下さい。

=IF(ROW(B1)>COUNT(Sheet1!$C:$C),"",RANK(INDEX(Sheet3!$A:$A,MATCH(LARGE(Sheet3!$B:$B,ROW(B1)),Sheet3!$B:$B,0))),Sheet3!$A:$A))

 次に、Sheet2のA2~B2の範囲をコピーして、同じ列の3行目以下に、Sheet1のリストの行数と同じか、又はそれ以上の行数になるまで、貼り付けて下さい。

 以上です。
    • good
    • 2
この回答へのお礼

回答有難うございました。
時間に余裕が無かったので、簡便な方法として

■RANKの列を用意して計算する方法
総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

を使わせて頂きました。

皆さん多くの方法のご教授有難うございました。
それぞれゆっくり試してみます。

お礼日時:2010/11/23 16:16

例えばチーム数が10チームとして


A2:A11にチーム名、B2:B11に勝ち点、C2:C11に総得点が入っている場合
(一行目は表の項目名が入っている)

D2に

=RANK(B2,$B$2:$B$11)

と入力して、これをD11までコピー&ペーストすれば順位が出せることは
ご存知だと思いますが、これをCOUNTIF関数を使って出すこともできます。

=COUNTIF($B$2:$B$11,">"&B2)+1

つまり、自分のチームより勝ち点が多いチームの数+1が自分のチームの順位になる
という考え方になります。

これを少し変えて
自分のチームより勝ち点が多いチームの数+自分と勝ち点が同じで総得点が自分のチームより多いチームの数+1
という式にすればいいのではないかと思います。

具体的には以下のような式になります。

=COUNTIF($B$2:$B$11,">"&B2)+SUMPRODUCT(($B$2:$B$11=B2)*($C$2:$C$11>C2))+1

これをD2に入力して、D11までコピー&ペーストします。
    • good
    • 1
この回答へのお礼

回答有難うございました。
時間に余裕が無かったので、簡便な方法として

■RANKの列を用意して計算する方法
総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

を使わせて頂きました。

皆さん多くの方法のご教授有難うございました。
それぞれゆっくり試してみます。

お礼日時:2010/11/23 16:16

■RANKの列を用意して計算する方法


総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

■SUMPRODUCT関数を使う
=SUMPRODUCT((総勝ち点の列>個人の総勝ち点)*1)+SUMPRODUCT((総勝ち点の列=個人の総勝ち点)*(総得点の列>個人の総得点))+1
    • good
    • 0
この回答へのお礼

回答有難うございました。
時間に余裕が無かったので、簡便な方法として

■RANKの列を用意して計算する方法
総勝ち点+総得点/1000の列を用意してこの列で順位を付ける

を使わせて頂きました。

皆さん多くの方法のご教授有難うございました。
それぞれゆっくり試してみます。

お礼日時:2010/11/23 16:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています