• ベストアンサー

入力と同時に並び替わるには?

セルAに氏名、Bにタイムを入力していきます。 このタイムが速い順に並べ替えたいのです。全て入力して昇順、降順に並べ替えることでできるのですが、入力していきながらセルBのタイムが速い順に自動で並び 変わるようにできるのでしょうか? エクセルはバージョン2002です。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

>変わるようにできるのでしょうか できません。そういう設定はエクセルに作ってありません。 私の経験からしても、そんなにニーズがありません。MSもそこまでのニーズを取り入れる必要を感じなかった? ーー 都度ソート操作をする 対策はツールバーのワンクリックを我慢する。 VBAでボタン等ワンクリック処理にする VBAでイベントを使う などVBAを使う人にはなんでもない処理です。 ーー #1でご指摘の、入力ミスがあった場合に見つけにくい問題は、危惧します。 別列にソート後を出すか、今の入力で、TOP5などに変動があるか見るほうが、良い場合も有りそうです。 ーーー 関数使用例 一応関数利用なので自動です。 A1:B13(この例では最大A20までに式を作っている) A列  B列  C列(算出結果) 計数 コード ランク 2 a 12 38888 b 4 3456 c 6 34 d 9 2345678 e 2 23 f 10 21 g 11 3453 h 7 56 i 8 36537 k 5 3345566 l 1 456789 m 3 C2に式 =IF(A2="","",RANK(A2,$A$2:$A$20)) といれて、C20まで式を複写。 結果上記の通り。 上例ではA,B,C列以外どこでも良いが、F列としてF2に =INDEX($A$2:$B$20,MATCH(ROW()-1,$C$2:$C$20,0),1)を入れて 下方向に式を複写。 結果 F1:G5に 計数 トップ5 3345566 l 2345678 e 456789 m 38888 b 36537 k 複写行を10行にすればトップ10になる。全部行も可能。 ーーーーー 以上自称imogasi方式。 RANK関数は、同計数の場合に同じ番号が複数出るの問題があるが 回避方法はありますが今回略。

その他の回答 (4)

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.4

自動ではありませんが、ボタンを一つ押すだけの手間です。 B列のセルが一つ選択された状態で、 ツールバーの「昇順に並べ替え」ボタンを押します。 たぶん、A列には選手名が入力されており、B列にタイムを入力したら、その時点の順番を知りたいのだと思います。 タイムを入力してEnterキーを押すと、下のセルに移動しますね(つまり、B列のセルが一つ選択された状態です) 「昇順に並べ替え」ボタンを押すと、B列を基準に並べ替えられます。 「昇順に並べ替え」ボタンがツールバーになかったら、ツールバーで右クリックして「ユーザー設定」の「コマンド」タブに「分類」を「データ」して、「昇順に並べ替え」ボタンをツールバーにドラッグします。 また、C列に =RANK(B1,B:B,1) と式を入れておけば、順位も表示できます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

データが2行目以下 タイムはB列であれば 1.該当シートを右クリックし、「コードの表示」 2.出てきたVBE画面右側の白い部分に Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub Range(Range("A2"), Range("A2").SpecialCells(xlLastCell)).Sort Key1:=Range("B2"), Order1:=xlAscending End Sub とコピペ 3.右上の×でVBEを閉じる これでB列にタイムを入れると同時に並びかわります。

回答No.2

セル B からフォーカスが失われたらタイム行を再ソートするようにされてはいかが。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>入力していきながらセルBのタイムが速い順に自動で VBAを使えば可能ですが。。。 作業手順としては、 入力を完了したあと、マクロ実行ボタンをクリックして並べ替えを行う方がスマートでしょう。 入力が完了(=セル内容が確定して、次のセルにフォーカスが移動する)という処理になってしまうので、入力ミスであっても、同じ動作をしますので確定した物として処理が実行されてしまいます。 修正するには、並び順が変わってしまったセルから、修正するセルを探すのは大変かも知れませんよ。

関連するQ&A

専門家に質問してみよう