人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルで自動的に高い数字順に並べる事に関する質問です。

http://pc.nikkeibp.co.jp/article/NPC/20060213/229138/
上のHP(常に並べ替えられた表を作成する)の図6に
同じ数値が複数の場合は正しく表示されないとあるのですが、
正しく表示するにはどうしたらよいのでしょうか。
なるべく簡単なやり方があれば嬉しいです。
よろしくお願いします。

●質問者: r_sasagawa
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:Hp とある エクセル 並べ替え 作成
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●200ポイント

”同点の場合は生徒番号順にするといったような決まり事”を決めておけば対応可能です

生徒番号が1から99までの範囲であるとすれば、例えば点数を100倍したものから生徒番号を引きます

そうすれば同点であっても、生徒番号の違いで差が出ます

ABCDE
1ランク生徒番号氏名得点生徒番号で調整した得点
2=RANK(E2,$E$2:$E$5)1田中75=D2*100-B2
3=RANK(E3,$E$2:$E$5)2鈴木89=D3*100-B3
4=RANK(E4,$E$2:$E$5)3佐藤89=D4*100-B4
5=RANK(E5,$E$2:$E$5)4黒澤94=D5*100-B5

コメント欄を受けての追記:

ROW()でよければ次のような感じです

ABCD
1ランク氏名得点ROW()で調整
2=RANK(D2,$D$2:$D$5)田中75=C2*100-ROW()
3=RANK(D3,$D$2:$D$5)鈴木89=C3*100-ROW()
4=RANK(D4,$D$2:$D$5)佐藤89=C4*100-ROW()
5=RANK(D5,$D$2:$D$5)黒澤94=C5*100-ROW()

コメント欄を受けての追記その2:

>別シートで自動的に点数が高いものから表示

前述のROW()でランク調整したシートがSheet1であれば別のシートに下記のような具合に書きます

(Sheet1!セル範囲という書き方にすれば別シートを参照できます)

ABC
1順位氏名得点
21=VLOOKUP(A2,Sheet1!$A$2:$B$5,2,FALSE)=VLOOKUP(A2,Sheet1!$A$2:$C$5,3,FALSE)
32=VLOOKUP(A3,Sheet1!$A$2:$B$5,2,FALSE)=VLOOKUP(A3,Sheet1!$A$2:$C$5,3,FALSE)
43=VLOOKUP(A4,Sheet1!$A$2:$B$5,2,FALSE)=VLOOKUP(A4,Sheet1!$A$2:$C$5,3,FALSE)
54=VLOOKUP(A5,Sheet1!$A$2:$B$5,2,FALSE)=VLOOKUP(A5,Sheet1!$A$2:$C$5,3,FALSE)

余談

今回の目的がExcelの学習なのかそれとも実用なのか判りかねますので詳細は避けますが、別シートへの出力でよければデータベースクエリという便利なものがありますので、お時間あれば調べてみてください


2 ● きゃづみぃ
●0ポイント

別シートに順位を表示させる場合は

VLOOKUPにシートを参照する文字列を入れればいいだけです。


=VLOOKUP(1,Sheet1!$A$2:$C$5,2,FALSE)


たとえば Sheet1の場合は

Sheet1!

を 追加させます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ