こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

よみがな順でランク付け(RANK関数のようなもの)を行いたい

EXCELでRANK関数というのがありますが
RANK関数では、数値しか扱えません
RANK関数のように、読み仮名順に順番を付けることはできないでしょうか?

  A     B
1 やまだ  
2 いいだ
3 つぼい
4 たなか
5 おだ
「B1」セルに「=RANK(A1,$A$1:$A$5,1)」と入れB2~B5まで
コピーするようなイメージです。
(B1セルではなくても良いですし、途中に計算過程を入れる
セルを挟んでも問題ありません)

読み仮名を一文字づつ分解し、文字コードに変換(CODE関数)→
連結(&)→数字に変換(VALUE関数)という事をやり、その結果で
RANK付けという作業をしたのですが、数字が大きすぎになってしまい
10文字目くらいまでしか有効になりませんでした。

何か良いアイディアなどお持ちの方がいらっしゃいましたら
ご教授ください、お願いします。

投稿日時 - 2007-09-06 18:16:41

QNo.3321156

困ってます

質問者が選んだベストアンサー

こんばんは。

A1 ~ A5 までなら、

=INDEX(COUNTIF($A$1:$A$5,"<="&$A$1:$A$5),ROW(A1))

こうして、下に、ドラッグしてコピーすれば出来上がります。

投稿日時 - 2007-09-06 23:42:14

お礼

求めていたものが出来ました!
ありがとうございました。

投稿日時 - 2007-09-07 17:44:10

ANo.4

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

「データ」→「並べ替え」で「A列」「昇順」で
並べ替えた上で、オートフィルで連番を振れば
良いのではないでしょうか?

もし、連番を振った後に、データの並びを
元に戻したいということであれば、
上記の並べ替えを行う前に、
元データに、オートフィルで連番を
振って、インデックス番号としておきます。

これを、基準に最後に並べ替えなおせば
もとに戻せますよ。

投稿日時 - 2007-09-06 19:19:42

お礼

手動でやるという手もありますね。
ありがとうございました。

投稿日時 - 2007-09-07 17:48:38

ANo.2

すみません、これだと1文字目しかダメですね。

投稿日時 - 2007-09-06 19:18:49

ANo.1

勘違いだったらすみません。回答をC列に出すとして、
B1セルに=CODE(A1)
C1セルに=RANK(B1,$B$1:$B$5,TRUE)
これをコピーしてできそうなのですが、どうでしょう?

投稿日時 - 2007-09-06 19:17:36

お礼

自分もコレを思いついたんですけど
回答ありがとうございました。

投稿日時 - 2007-09-07 17:49:19

あなたにオススメの質問