RANK関数で順位を付けているのですが、ある種目(A列の数)で同点の場合、例えば1番、1番その次が3番になりますが、その同順の場合、さらに条件を付けて、他の種目(B列の数)での数が多いほうで決着し、同順にはさせないようするには、どうすればいいですか?以下のとおりです。宜しくお願いします。
セル A  B  C(RANKの順位)D(求めたい順位)
1  10  8   3        3     
2  12  9   1        1  
3  11  7   2        2
4  10  6   3        4

A 回答 (8件)

たびたび、すみません。



#7で *はAND +はORとして扱われます。

と書きましたが、ちょっと違うみたいです。
#5の解説の通り、Trueは1、Falseは0で掛け算、足し算してます。

わかりにくい説明をしてすみません。
    • good
    • 0
この回答へのお礼

taisuke555さん、何回もお返事くださって、本当に有難うございます。貴重なお時間を割いていただいて、申し訳ないですm(__)m。完璧なお答えでした。驚きで私は、すごいなーとただ感心するだけです。今回は大変お世話になりました。今後のご活躍を祈念いたします。それではまた、どこかでお世話になると思います(^^)/~~~

お礼日時:2003/07/13 15:57

   A  B  C ←列 順位


1  10  8  1     2
2  12  9  3     5
3  11  7  4     4
4  10  6  2     3
5  12  8  6     6
6  10  8  3     1


のような感じでよいですか?
複雑になってきたので、RANK関数使っていません。(前の質問もRANK関数使わずにできます。)

D1セルに
=SUMPRODUCT(($A$1:$A$6<A1)+($A$1:$A$6=A1)*(($B$1:$B$6>B1)+($B$1:$B$6=B1)*($C$1:$C$6>C1)))+1

*はAND +はORとして扱われます。

A1~A6で A1より小さい または
A1~A6で A1と同じ かつ (B1~B6で B1より大きい または B1~B6で B1と同じ かつ C1~C6で C1より大きい)

条件のセルがいくつあるか数え、+1(その次の順位)としています。


間違っていたら補足してください。
    • good
    • 0

#2、#5で回答したものです。


補足です。

*1を書いてあった理由は

例えば、A1~A4の中にA1と同じ値がいくつあるかを求めたい場合、
=SUMPRODUCT($A$1:$A$4=A1)
ではTrue又はFalseを加算しようとしてうまくいきません。

そこで、
=SUMPRODUCT(($A$1:$A$4=A1)*1)
とするとTrue=1,False=0に変換して数字として計算してくれます。

今回の数式も論理式のみでしたので必要かな?と思い付けましたが、
掛け算をしようとした段階で、変換してくれるようなのではずしました。

こんな感じで私もいつも試行錯誤しながら数式を作成してます。

この回答への補足

ご回答有難うございます。ご説明で何となくバカな私もわかったのですが、実は求めたい順位が、条件がもうひとつあって、つまりセルAの得点、セルBの得点、セルCの得点の3つの条件があるのですが、Aの得点では、一番少ない点数が上位、同点の場合はBの得点の多い方が上位、さらに同点の場合、Cの得点の多い方が上位という順位付けになっているのですが、前回説明が長くなると思って簡素化し、taisuke555さんの式を変形してやってみたのですが、うまくいきません。たび重ねて申し訳ありませんが、お分かりでしたら、お教えください。

補足日時:2003/07/12 16:05
    • good
    • 0

今、試してみたところ


=RANK(A1,$A$1:$A$4)+SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1))
で大丈夫みたいです(*1をはずしました。)

>素人にもわかりやすく、日本語訳で 式の解説をしていただけたら、幸いです。

分かりやすく説明ができるか不安ですが、解説してみます。
RANK関数の方はよろしいですね。

=SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1))

=(A1=A1)*(B1>B1)+(A2=A1)*(B2>B1)+(A3=A1)*(B3>B1)+(A4=A1)*(B4>B1)
と同様の意味です。

($A$1:$A$4=A1)→(A1=A1),(A2=A1),(A3=A1),(A4=A1)
A1~A4でA1と同じ値のセルはTrue、違う場合はFalseが返ります。
($B$1:$B$4>B1)→(B1>B1),(B2>B1),(B3>B1),(B4>B1)
同様にB1~B4でB1より大きい値のセルはTrue、同じか小さい場合はFalseが返ります。

その2つの論理式を掛けると
True=1、False=0という数字になって計算されます。

よって、
True * True = 1*1 = 1
True * False = 1*0 = 0
False * True = 0*1 = 0
False * False = 0*0 = 0
と、両方がTrueの場合のみ1となります。

その計算をA1~A4(B1~B4は対)まで計算し、結果を足し算しています。

同様の数式に配列数式(式を入力後[Enter]のかわりに[Ctrl]+[Shift]+[Enter])
=SUM(($A$1:$A$4=A1)*($B$1:$B$4>B1))
というのもあります。(解説はまったく一緒です。)

書いていてもうまく説明できていない事がわかりますが、説明が難しいです。

>劣等感や嫌悪感を感じます。
ご覧のように文章を作るのは(人に説明するのは)まったくだめです。
私にも1つ位、とりえがあってもよいと思いますので
そんな風に考えず、分からない所は分からないで質問し、分かる所を教えていってお互い成長しましょう!

長文の割には的を得ない回答ですみません。
    • good
    • 0

まあ出きると言うことで


(1)空き列に順番に上から1,2,3・・をオートフィルで振る。(仮にC列)
(2)データ-並べ替え
第1キー-A列降順,第2キーB列降順でソート
(3)ソート後のデータに上行から1,2,3・・・と
オートフィルで番号を振る(仮にD列とする。)
(4)(1)のC列で昇順にソート
D列が順位になっています。
エクセルを使わない(使えない)、オフラインバッチ処理プログラムなどは、この方法(ソートを使う)を使うと思います。即ちシステム的には汎用性のある方法と思います。
    • good
    • 0
この回答へのお礼

ご回答くださいまして、本当に有難うございました。また、何かわからないことがありましたら、宜しくお願い致します。

お礼日時:2003/07/13 16:00

ちょっとずるい方法ですが、こんな感じでどうでしょう。



C1の数式=RANK(A1,$A$1:$A$4,1)*100+A1+B1
D1の数式=RANK(C1,$C$1:$C$4)
後は下方向にフィルで複写してください。

こうすると
D列に求めたいランクが算出できます。C列はD列の計算の中間過程なので、見苦しかったら、非表示にでもしておいてください。
    • good
    • 0
この回答へのお礼

ご回答くださいまして、本当に有難うございました。また、何かわからないことがありましたら、宜しくお願い致します。

お礼日時:2003/07/13 16:01

C1セルに


=RANK(A1,$A$1:$A$4)+SUMPRODUCT(($A$1:$A$4=A1)*($B$1:$B$4>B1)*1)

でどうですか?

A列が同じで、B列が大きい数がいくつあるか数え加算しています。

この回答への補足

早速のお答え有難うございます。教えてくださった式をそのまま貼り付けて見たのですが、まず完璧な式のようですが、よくぞ、このような式がすぐわかるものだと、つくずく感心し、どうして私はこんな頭がないのだろうと劣等感や嫌悪感を感じます。素人にもわかりやすく、日本語訳で
式の解説をしていただけたら、幸いです。

補足日時:2003/07/10 20:56
    • good
    • 0
この回答へのお礼

ご回答くださいまして、本当に有難うございました。また、何かわからないことがありましたら、宜しくお願い致します。

お礼日時:2003/07/13 16:02

ご質問のケースなら、たとえば


C1=A1+B1/10として
D1=RANK(D1,$C$1:$C$4)
でご希望通りになります。
    • good
    • 0
この回答へのお礼

ご回答くださいまして、本当に有難うございました。また、何かわからないことがありましたら、宜しくお願い致します。

お礼日時:2003/07/13 16:02

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

今、見られている記事はコレ!

  • 縦書きと横書きはどちらが読みやすい?

    普段何気なく読んでいる文章ですが、縦書きか横書きか、意識したことはありますか?制作側としては読み手はどちらの方が読みやすいと思うかはとても大きな問題です。教えて!gooには、 「『横書き』と『縦書き』、...

  • 昭和の日ってどういう日?

    ゴールデンウィーク初日の4月29日は「昭和の日」です。今や平成生まれの人も多い時代ですが、「なぜ昭和の日があるの?」という疑問をもったことはありませんか?和暦を挙げるのなら、大正の日、明治の日、平成の日...

  • Excelの意外な使い方とは?

    会社のパソコンに必ず入っている、と言っても過言ではない、Office系ソフトの「Word」と「Excel」。PCを使う職場にいた方なら、一度は触ったことがあるかと思います。Wordは仕事以外に使う方法がすぐ浮かびそうです...

  • 【長谷川豊】配偶者控除の廃止検討というニュースを分かりやすく

    昨今、結構ニュースになっている「配偶者控除」の廃止検討について。 昨日(9月27日)放送の「バラいろダンディ」内で勝間和代さんが解説してくれたのですが、それがとても分かりやすいものでした。 皆さん、配偶者...

  • せきらら女子会:第108話「長所を言い合おう」

    恋愛、結婚、お金、夜の営み...いろんなことに対して、赤裸々にトークする女の子達のお話。考え方の違う4人が、今日も居酒屋に集まります。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

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


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ