エクセルで、ランク関数を使って順位をつけると、同点の人は同順位になってしまいますよね。

条件を増やして(点と年令などで)同順位の人が無くなるようにしたいのですが、良い方法を教えてください。

エクセル以外での方法でも結構です。

A 回答 (2件)

こんにちは



点と年齢であれば
空いてる列に =点×100+年齢 のようにして
それをRANK()で処理すればOKかと思います

1.降順)点数が多く年齢の高い人が上位
  昇順)点数が少なくて年齢が低い人が上位
  =点×100+年齢

2.降順)点数が多く年齢の低い人が上位
  昇順)点数が少なくて年齢が高い人が上位
  =点×100+(100-年齢)

★100歳以上の人も(^^;含まれるなら
 ×100 → ×1000
 100- → 200- 
 ですね!
    • good
    • 0
この回答へのお礼

なるほど~。 そういう方法があるのですね!

目からウロコです。こういうアイデアがでないからきっと数学が苦手なんですね・・・。

ご回答いただきましてありがとうございました。

お礼日時:2001/08/24 14:52

何かの競技のときの点数でしょうか?


私の会社などでは、同点時は社員番号順です。

ほかには、名前順(漢字コード順ですが。。)や、最初に重み付け(すべての人に連番を振っておく)しておくとよいのではないでしょか。
    • good
    • 0
この回答へのお礼

複数条件でランク付けする"式"を教えていただきたかったんです。まぎらわしい聞き方で申し訳ありません。

お答えありがとうございました。

#実は私も知人に聞かれたので詳細は不明です。

お礼日時:2001/08/24 14:46

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

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

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

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

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

Qエクセルでランクする時の同点の処理を教えて下さい

ランク関数を使って順位を出そうと思います。同点の場合別の条件を当てはめて順位を出したいと思います。

チーム名  順位   得点   勝ち点  負け点  勝ち点差   
 A    4    1     1    6    -5
 B    2    3     4    9    -5
 C    2    3     5    3     2
 D    1    5     8    2     6

数字は適当に当てはめたので、矛盾があるかも知れませんがこの様な場合、同点のチームだけ勝ち点差で順位をつけて、同順位の無いようにしたいのですが、どうすればいいのでしょうか。

Aベストアンサー

私がよく使っている順位付けの方法です。

順位が以下の優先順位で決定するものとします。

(1)勝ち点
(2)得失点差
(3)総得点

で順位付けする場合、
(1)×10000+(2)×100+(3)
というように、常識ではありえない数を掛け算して、
ポイント化します。
このポイントをランク関数で順位付けすることで、
同順位は発生しなくなります。

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

Qエクセルで順位表を並び替えたい。同順位表示方法は?

エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか?

シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。

試行錯誤の結果、下記まで作業しました。
=========
<シート1>
    A        B       C       
   (1)商品名  (2)販売額  (3)ランキング 
1    a     1000       2
2   b     1500      1
3  c     1000      2
4  d     500      4
5  e     300      5

(1)手入力
(2)SUM関数で集計した値
(3)RANK関数

<シート2>
    A        B    C
(3) ランキング  (1)商品名 (2)販売額
1
2
3
4
5

(3)手入力
(2)INDEXとMATCH関数
(3)INDEXとMATCH関数
=========

1)シート2の(3)ランキングをシート1を参照し降順で自動表示させる方法を教えてください。
今は手入力なので、同順位があった場合にずれが生じてしまいます。

2)シート2に同順位表示のまま並び替えする方法を教えてください。
INDEX関数とMATCH関数を使っていましたが、
シート1で同順位表示されていた箇所が、シート2で表示できませんでした。

どうぞ宜しくお願いいたします。

エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか?

シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。

試行錯誤の結果、下記まで作業しました。
=========
<シート1>
    A        B       C       
   (1)商品名  (2)販売額  (3)ランキング 
1    a     1000       2
2   b     1500      1
3  c ...続きを読む

Aベストアンサー

順位の数字に細工をしておくだけで、簡単にできます。

添付図:
C2に
=RANK(B2,B:B)+ROW()/1000
と記入、カンマ区切りの書式設定を取り付けて以下コピーしておく

これで同順も違う数字が計算できるので、あとはINDEXとMATCHで持ってくるだけです。


E2:
簡単に1番からの連番を記入
ROW関数とか使ってもいいですが、手で記入するので十分

F2:順位の数字の小さい順に取ってくる
=INDEX(A:A,MATCH(SMALL($C:$C,$E2),$C:$C,0))
右にコピー、下にコピー。


実際に手を動かして、できることを確認してください。

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Qエクセルで同順位がある場合

エクセル2003を使用しています。下記のようなデータで数値の大きいものから順に順位をつけています。ところが同じ数値があった場合、一番左の項目しか表示されません。左から順番に表示させるにはどうしたらよいでしょうか?よろしくお願いいたします。

   A   B    C     D     E    F    G   H  
1     みかんりんごばなな 
2  あ社 15  15  10  みかん 15  みかん 15 
3  い社  20   30   30   りんご 20  りんご 20

E2=index($b$1:$d$1,1,match(large($b$2:$d$2,1),b2:d2,0)
F2=large($b2:$d2,1)

上のような式だと、1位が同数値だった場合、左端のみかんだけが表示されてしまいます。G2はりんご、G3にはばななが表示されるようにしたいのです。
わかる方、よろしくお願いします!

Aベストアンサー

E2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,1),$B2:$D2-COLUMN($B2:$D2)/100,0),))
F2=INDEX($B2:$D2,MATCH(E2,$B$1:$D$1,0))

G2=INDEX($B$1:$D$1,INDEX(MATCH(LARGE($B2:$D2-COLUMN($B2:$D2)/100,2),$B2:$D2-COLUMN($B2:$D2)/100,0),))
H2=INDEX($B2:$D2,MATCH(G2,$B$1:$D$1,0))
★H2はF2の式をコピーしてもいいですよ

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Qエクセル 同順位の処理

いつもお世話になっております。
 上位3名の合計点を求める時に、同順位(例:1位1名・2位1名・3位2名)が出た場合、3位者(同順位者)については1名のみの点数を計算したいのですがその方法がわかりません。よろしくお願いします。
 また、2位が2名の時は、1位と2位の3名の合計点の計算となります。

 順位はRANK関数を使用しています。

得点 順位 上位合計点
98  1
80  3
76        ?
82  2
80  3

よろしくお願いします。

Aベストアンサー

=LARGE(得点範囲,1)+LARGE(得点範囲,2)+LARGE(得点範囲,3)

で、常に上位三つの点数の和になります。

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

Q平均点の順位を出す関数(エクセル)

エクセルで,例えばA1~A5セルに,それぞれ10,20,30,40,50という数値が入っていて,その平均点をA7セルに求める場合,A7に,

=AVERAGE(A1:A5)

と入力します。そうすると平均点は,30と正しく出ます。
そして,その隣のB7セルに平均点の順位を出す場合,

=RANK(A7,$A$1:$A$5)

と入力します。この場合,正しく3(位)と出ます。

ここまではいいのですが,例えばA1セルを20に変えると,平均点は32と正しく出るのですが,B7セルの平均点の順位がエラーになってしまいます。

なぜ,このようなエラーが出てしまうのか理解できません。A1~A5セルにどんな数値が来ても,B7セルに平均点の順位が表されるようにすには,どうしたらよいのでしょうか。

Aベストアンサー

平均点はリストには存在しないから、RANK関数ではエラーになります。
順位ですから、点の高い順だとすれば、仮に、平均点をとった人が加わって、その人が何位だということになるのですから、

自分よりも点の高い人の数+1(自分)だから、

=COUNTIF($A$1:$A$5,">"&A7)+1

こういうことになるのではないかと思います。


人気Q&Aランキング