• ベストアンサー

並べ替え

A1からA20番まで名前が入力してあり、B1からB20まで点数を入れながら、常に高い点数をトップになるよう自動的に並べ替える方法はなかったでしょうか?いつも点数の入力がすんだ後、→並べ替えの作業をしています…やはりマクロを使った方が早いでしょうかね。

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

  • ベストアンサー
  • zenjee
  • ベストアンサー率47% (50/106)
回答No.3

点数だけならLARGE関数というものがあり、E1に =LARGE(B:B,ROW()) と入力してE20までコピーすれば1番から20番までの点数がE列に出ます。 また名前も一旦A列をC列にコピーしておいて、D1に =VLOOKUP(E1,$B$1:$C$20,2,FALSE) と入力してD20までコピーすれば一応D列に名前を出すことは出来ます。 しかしこの方法の致命的欠陥は同点数者がいた場合上位行に入力されている者の氏名しか現れない、ということです。 これだけのことをワークシート関数だけでクリアするためにはINDIRECT、MATCH、ADDRESS、COLUMN、RANK、ROW、IFなど数多くの関数を選択・組み合わせたかなり複雑な計算式を設けるか、別に作業列を数列設けて前記の関数式を設定するか、若しくはマクロを組むしかないでしょう。 そこまでするくらいならいつもおやりになっているようにデータを並べ替えた方が手っ取り早いと思いますので、あまり自信もないし、ここでは割愛させていただきます。

isseiyouho
質問者

お礼

詳しくアドバイスいただきありがとうございます。

その他の回答 (2)

  • syota2010
  • ベストアンサー率15% (10/66)
回答No.2

EXCELですよね? マクロが一番ですが、関数を使って、別のシートで勝手に並べ替えしたものを表示するというやり方もあります。面倒くさいですが・・・

isseiyouho
質問者

お礼

やはりマクロですね。作業としては単純ですが。マクロはエラーが出たとき、あまりわからなくてね。お返事ありがとうございます。

  • valc
  • ベストアンサー率32% (65/202)
回答No.1

何かのソフト・ツールの話ですか? それとも言語ですか?

isseiyouho
質問者

補足

すみません。点数の並べ替えだけです。入力しながら点数の並べ替えも一緒に実行できたら便利と思い。

関連するQ&A