ここから質問投稿すると、最大4000ポイント当たる!!!! >>

サッカーのリーグ戦でチームの順位を計算する際、
例えば、勝ち点→得失点差→総得点数という優先順
位でランクを表示したいです。が、エクセルの関数
式を教えていただけませんか。 上位優先条件で同
ランクが発生したときの式がわかりません。

以下のような順位をつけたいです。

チーム 勝ち点 得失差 総得点 順位 
 A   6  +5   8   1
 B   6  +3   5   2
 C   1  -4   2   3
 D   1  -4   0   4

よろしくお願いします。

A 回答 (2件)

スマートな回答かどうか判りませんが、隠しセルに、たとえば


勝ち点×10000+得失点差×100+総得点
を計算しておき、そのセルに対してRANK関数で順位を付ける、
というのはいかがでしょうか。
    • good
    • 0
この回答へのお礼

さっそく明快なご回答をありがとうございます。
2ケタづつ変えて合計してランク付けするわけですね。
いかにもエクセルっぽい方法で、素晴らしいと思います。

お礼日時:2006/11/21 18:48

kigoshiさんのアイディアをお借りして


B列に勝ち点、C列に特質差、D列に総得点が入っているものとして
作業セルなしでできるよう書いてみました

=RANK((B3*100+C3)*100+D3,INDEX((B:B*100+C:C)*100+D:D,,),TRUE)

たぶんこれでいけると思うのですが…
    • good
    • 5

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QRANK関数 同点の場合違う項目で序列を付けたい

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

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

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

Aベストアンサー

総勝ち点が例えばA1セルに50のときに総得点がB1セルに10であったとします。この場合には作業列を作ってC1セルには例えば次の式を入力して重みを付けた値にします。

=A1+B1/1000

C列のデータについてRANK関数を使うことにすればよいでしょう。

Qエクセル2010でRANK関数に条件を付けるとき

エクセル2010を使っている者です。
RANK関数で順位をつけても同順位だった場合、他の条件で判定することは可能でしょうか?
過去の質問も見たのですが、私のしたいこととは違う事例なんですね。


具体的には、添付画像のような表でドント式で順位をつけようと思っています。

オレンジ色にしたセルに、一つ右のセルの値について数値の高い順に順位をつけていき(全列のオレンジ色のセルの右の値の中での順位です)、値が同じであれば「総数」の値の大きい列のセルのほうが上位になるというようにしたいと思っています。

どうぞ、よろしくお願いいたします。

Aベストアンサー

作業列を使ってごまかす方法があります。
添付の図の例では、D2セルに↓と、入れてあります。
=B2+C2/1000+ROW()/100000

+C2/1000 は、第2条件である「総数」を1/1000した値を足すことで、元データが同じときには「総数」が多いほうが上になるようにしています。
+ROW()/10000 は、データも総数も同じ場合、後から登場した方を上位とするために足しています。

「/1000」や「/10000」は、実際の値やデータ量に合わせて調整してください。

Qエクセルで同じ結果でも順位を決めたい場合

バレーボールのリーグ戦の集計で、各チームとも2試合ずつします。
順位の第一条件は勝敗、次にセット率、最後に得失点率です。
勝敗が同じで、セット率(得セット/失セット)で集計した場合、4-0のとき「0」、4-1のとき「4」でストレート勝ちした最初の方が値が小さくなってしまいます。もし、下位チームでストレート負けした0-4と同じになってしまいます。その場合、4-0のときは値が「10」ぐらいになるように計算できませんか?
また、2-2のとき3-3のときも同じで3-3の方が上位なのでどうしたらいいですか?

Aベストアンサー

集計には、エクセルを使用?
計算式で、順位を求めている? 優先順位が、 勝敗>セット率>得失点率

>4-0のとき「0」、4-1のとき「4」でストレート勝ちした最初の方が値が小さくなってしまいます。
セット率の計算式は、どんな表記ですか?

セット率 4-0 4-1 ・・・・・0-4
その差を求めれば、4-0 なら プラス4、 4-1 ならプラス3
0-4 ならマイナス4 となるので  得-失の差で計算すれば解決するのでは?

>2-2のとき3-3のときも同じで3-3の方が上位なので
差がゼロのとき、 得-失の和が 小さい方を上位とすれば、これも解決出来るでしょう。

Q順位付け

   A  B  C  D  E
1  A  6  5  2  3 
2  B  3  4  1  1
3  C  9  5  3  5
4  D  6  4  2  1
5  D  0  4  0  -4
A列、チ-ム名
B列、勝点
C列試合数
D列、勝数
E列、得失点差
このようなシ-トがある場合、別のセルに1位~5位までの順位付けする関数を教えてください。
尚、勝点が同点場合は得失点差を考慮します。

Aベストアンサー

こんにちは~♪

こんな表の場合です。。。

    A     B    C    D    E     F
[1] チーム名 勝点 試合数  勝敗 得失点差  順位
[2]   A     6   5     2    3     2
[3]   B     3   4     1    1     4
[4]   C     9   5     3    5     1
[5]   D     6   4     2    1     3
[6]   D     0   4     0    -4    5

F2セルへ
=SUMPRODUCT((($B$2:$B$6+$E$2:$E$6/1000)>B2+E2/1000)*1)+1
下へコピー。。。

ご参考にどうぞ。。。

。。MS.Rin~♪♪

Qエクセルでサッカーの順意表を作り勝敗数でRANK関数を使用し順位が出る

エクセルでサッカーの順意表を作り勝敗数でRANK関数を使用し順位が出るようにしたのですが、同順位の場合得失点の条件も含めて順位をつけるようにしたいのですがどうしたらよいですか?

Aベストアンサー

サッカーの順位表と言うことですが、Jリーグのような勝ち点方式じゃなくって
単純に勝率と、得失点差で順位付けでしたら、
勝率に得失点差の重みを付けた欄を設けて、その欄でRANK()を見たらいいでしょう。
重み付けは、得失点差が最大2ケタとして、勝率に100000を掛けたものに得失点差を
足したものとします 下図参照。

それより、サッカーでも野球でも戦績を間違いなく入力するのが大変で、
出来れば、順位表は戦績表の横に作って、戦績表の数値を利用するように
作ったがベターでしょう。

とりあえず、順位表の簡単な例を、載せておきます。

QEXCELで複数のグループ内での順位を表示させたい。

EXCELで複数のグループ内で順位を表示させるようにしたいのですが、
どうすれば良いかわからず困っています。

たとえば、こんなデータがあるとします。
(A列)(B列)
名前  スコア
あああ10
あああ20
あああ30
あああ 40
いいい5
いいい20
いいい60
いいい65
いいい70
いいい80
いいい90
 ・   ・
 ・   ・
 ・   ・

こようなデータを名前別でスコアの降順で順位をつけたいのです。
(A列)(B列) (C列)
名前  スコア順位
あああ10 4
あああ20 3
あああ30 2
あああ 40 1
いいい5 7
いいい20 6
いいい60 5
いいい65 4
いいい70 3
いいい80 2
いいい90 1
 ・   ・
 ・   ・
 ・   ・

名前の種類の数もかなりあります。

このようにグループ内で順位を表示させるにはどのようにしたらいいでしょうか?

EXCELは初心者なため、どなたかお詳しい方、どうか宜しくお願い致します。

EXCELで複数のグループ内で順位を表示させるようにしたいのですが、
どうすれば良いかわからず困っています。

たとえば、こんなデータがあるとします。
(A列)(B列)
名前  スコア
あああ10
あああ20
あああ30
あああ 40
いいい5
いいい20
いいい60
いいい65
いいい70
いいい80
いいい90
 ・   ・
 ・   ・
 ・   ・

こようなデータを名前別でスコアの降順で順位をつけたいのです。
(A列)(B列) (C列)
名前  スコア順位
あああ10 4
あああ20 3
ああ...続きを読む

Aベストアンサー

    A      B     C
1  名前   スコア  順位
2  あああ   10    4
3  あああ   20    3
4  あああ   30    2
5  あああ   40    1
6  いいい   5    7
7  いいい   20    6
8  いいい   60    5
9  いいい   65    4
10  いいい   70    3
11  いいい   80    2
12  いいい   90    1

C2=SUMPRODUCT(($A$2:$A$20=A2)*($B$2:$B$20>B2))+1
★下にコピー

Qエクセル2007で総当り表を作りたいです。

エクセル2007で俗に言う総当り表を作りたいのですが、分からないことがあり作成が進みません。
あれこれ調べてみたのですが私自身関数が得意というわけでもなく…こちらで質問させていただきます。

画像のように

(1)2行目のデータを、関数・オートフィルを用いて2列目に並べなおす
(2)同一のデータ同士が当たらないように、斜めに線を(自動で)引く

という状態にしたいと考えています。
それぞれ、どのような設定・関数を用いればよいのでしょうか?

Aベストアンサー

こんばんは!
質問の操作に関しては関数云々というより、コツコツ手を動かして操作するしかないと思います。
(1)2行目データを範囲指定 → 右クリック → コピー
(2)A3セルを選択 → 右クリック → 形式を選択して貼り付け → 「行列を入れ替える」にチェックを入れOK
(3)Ctrlキーを押しながら斜線を入れたいセルを選択 → 右クリック → セルの書式設定 → 「罫線」タブで「右下がりの斜線」を選択しOK
(4)最後にA2セル~最終セルを選択 → 罫線の「格子」を選択しOK

こういった流れになると思います。

これを自動で!というコトであればVBAになってしまいますが、一例です。
表を作成したい元データはB2セルから列方向に並んでいるとします。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim j As Long, lastCol As Long
lastCol = Cells(2, Columns.Count).End(xlToLeft).Column
Range(Cells(2, "B"), Cells(2, lastCol)).Copy
Range("A3").PasteSpecial Paste:=xlPasteAll, Transpose:=True
For j = 2 To lastCol + 1
Cells(j, j - 1).Borders(xlDiagonalDown).LineStyle = xlContinuous
Next j
With Range("A2").CurrentRegion
.Borders.LineStyle = xlContinuous
.HorizontalAlignment = xlCenter
End With
End Sub 'この行まで

※ おそらく一度だけの操作になると思いますので、
わざわざマクロでやるよりご自身で手を動かした方が良いと思います。m(_ _)m

こんばんは!
質問の操作に関しては関数云々というより、コツコツ手を動かして操作するしかないと思います。
(1)2行目データを範囲指定 → 右クリック → コピー
(2)A3セルを選択 → 右クリック → 形式を選択して貼り付け → 「行列を入れ替える」にチェックを入れOK
(3)Ctrlキーを押しながら斜線を入れたいセルを選択 → 右クリック → セルの書式設定 → 「罫線」タブで「右下がりの斜線」を選択しOK
(4)最後にA2セル~最終セルを選択 → 罫線の「格子」を選択しOK

こういった流れになると思...続きを読む

Qエクセルで、自動的にランク順に順番を表示させる方法

エクセルで、自動的にランク順に順番を表示させる方法

エクセル2003を使用しています。

T列に名前、U列にその人の点数が表示されています。
これに対し、点数の高い順に自動的に並べ替えてB列に順位、C列に名前を表示させたいです。

同じ点数がある場合、以下の様な表示をしたいです。
1位 Aさん 80点
2位 Bさん 70点
2位 Cさん 70点
4位 Dさん 60点

表示>並べ替えは使用しないで、関数で対応したいです。
分かる方いましたら、お願いします。

Aベストアンサー

なるべくシンプルな計算式で。

添付図:
S2に
=RANK(U2,U:U)+ROW()/1000
以下コピー。

B2に
=VLOOKUP(SMALL($S:$S,ROW(A1)),$S:$U,COLUMN(),FALSE)
B,C列にコピー。

A2に
=RANK(C2,C:C)
以下コピー,
必要に応じてA列を右クリックしてセルの書式設定の表示形式のユーザー定義で
0位
と設定しておくなど。

QエクセルでIF関数について教えてください

IFとRANKを使った式使って、順位を作りたいのですが、
ご指導お願いします。

順位 勝点 得点 得失点差
4  3   6  -3
2  6   8   1
1  6  11   4
3  3   9  -2

勝点が同一ならば、得失点差を優先。
得失点差も同じならば、得点を優先する。

順位の優先順位は
1番目に勝点
2番目に得失点差
3番目に得点

という風に条件をつけて、順位を作りたいのですが、
いい案が思いつきません。。。

ご指導よろしくお願いします。

Aベストアンサー

ANo1のmaronです参考になれば幸いです
◆A2=SUMPRODUCT((B2*10^6+(100+D2)*10^3+C2<=$B$2:$B$5*10^6+(100+$D$2:$D$5)*10^3+$C$2:$C$5)*1)

★考え方はすでにほかの方が説明されています
1)上の式を選択して数式バーで、B2*10^6+(100+D2)*10^3+C2 の部分を指定して、F9を押してください
2)3097006 になりましたでしょうか(この数字の意味はわかりますよね)
3)次に、$B$2:$B$5*10^6+(100+$D$2:$D$5)*10^3+$C$2:$C$5 を指定して、F9を押してください
4){3097006;6101008;6104011;3098009} となりました
5)これは、{3097006;6101008;6104011;3098009}のうち、3097006 以上はいくつかこれが「順位」になります
6)先ほどの回答は、<= を、 < としていましたので、 +1 をしています

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング