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

RANK関数では、順位(1,2,3…)で表示することしか出来ませんか?
金額によって、A,B,C…とランク分けをしたいのですが、どうしたらいいでしょうか。
まず、RANK関数で1,2,3…と表示し、それを更に別の関数でA,B,C…と変換するやり方になりますか?
お詳しい方、ぜひ教えてください。

A 回答 (5件)

=CHAR(RANK(A1,$A$1:$A$10)+64)とすればいいのでは?

    • good
    • 0
この回答へのお礼

みなさま、回答ありがとうございます。
今回、私の質問の仕方に不備がありすぎて、みなさんにきちんと
質問趣旨が伝わらなかったようです。申し訳ありません。
一旦締めさせていただくことにします。
ありがとうございました。

お礼日時:2008/03/25 23:46

単に1,2,3→A,B,Cでいいなら


=CODE(RANK(範囲,金額)+64)
で1~26をA~Zに置き換え可能です。
1~5をA,6~15をBのような形なら
=LOOKUP(RANK(範囲,金額),{1,6,16,36,51},{"A","B","C","D","E"})
上記で1~5がA,6~15がB,16~35がC,36~50がD,51以上がEになります。
    • good
    • 0

RANKという言葉を使うのでなく、計数を範囲に分け、記号化すると考えればよいのでは。


それにしても、実例を挙げて質問すること。
ーー
例データA1:B8
A列  B列
年齢  クラスわけ記号
31B
43C
33B
55D
59D
48C
39B
ーー
基準表
D1:E5
0A
30B
40C
50D
60
表の読み方は
0-30=>A
30-40=>B
40-50=>C
・・
というように読む(=表を作る)
0,30,40・・は切りのいい数字である必要は無い。
ーーー
B2の式は
=VLOOKUP(A2,$D$1:$E$5,2,TRUE)
を入れて下方向に式を複写。
ーー
VLOOKUP関数は有名で、そのTRUE型の典型的な利用例ですよ。
RANKを思い付いて拘りすぎたと思うが。
    • good
    • 0

=index({"A","A","B","B","C","C"},rank(???))



A1:A
A2:A
A3:B
A4:B
A5:C
A6:C
と言うテーブルを用意して
=index(A1:A6,rank(???))
=offset(A1,rank(???)-1,0)

A1:B4が以下のテーブルなら
1A
3B
5C
7ランク外
=vlookup(C1,A1:B4,rank(??),TRUE)

=vlookup(C1,{1,"A";3,"B";5,"C";7,"ランク外"},2,TRUE)

とかはどうでしょうか?
    • good
    • 0

例えば、1位から3位ならA、4位から10位ならB、・・・などとしたいのであれば、技巧的方法でやれなくもありません。


ポイントはchar(65)=A であること。1から3は1に、4から10は2、に変換させてあげればOKですから。どう区切られているかによって若干答えがかわってきますので、細かくは書きませんが、区切り幅が一定ならINT( / )、そうでなければIFネストなどが使えるかと思います。
    • good
    • 0

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