• ベストアンサー

エクセルでのソート

エクセル2000を使っています、ソートについて質問させていただきます。 例えば、 88J001・・・88J055 88N001・・・88N011 88A001・・・88A0088 8K001・・・88K020と有る名簿を(上から下に並んでいます)、 左から3文字目に有るアルファベットを最優先キーに、数字3桁を2番目に優先するキーにし、アルファベット順ではなく、K、N、J、A、Hと有るようにソートしたいのですが、どのような操作をすればよろしいでしょうか?

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

=MID(A1,3,4) で左から3文字目に有るアルファベットと数字3桁を連結したものができます。 (88A0088、8K001は入力ミスですよね。) アルファベットは「ツール」「オプション」「ユーザー設定リスト」に K,N,J,A,Hの順に登録 「データ」「並べ替え」で上記の式の列で並べ替えですが 事前に「オプション」で「並べ替え順序に指定」に「K,N,J,A,H」を選択

northwest71
質問者

お礼

ありがとうございました 大変参考になりました

その他の回答 (2)

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

(例データ) (A列) 88J001 88N001 88A001 88K001 88H003 (テーブル作成) 例えばE1:F5に K 1 N 2 J 3 A 4 H 5 (関数式) B1に=VLOOKUP(MID(A1,3,1),$E$1:$F$5,2,FALSE)&MID(A1,4,3) と入れて下に複写する。 B列は 3001 2001 4001 1001 5003 となる。 データとB列を含めて範囲指定して、B列でソートすれば よい。

northwest71
質問者

お礼

ありがとうございました

回答No.1

学籍番号かな? まずはキーになる桁を取り出します。A列に元データがあるとして B1:= mid(A1, 2, 1) C1:= right(A1, 3) B列はほっとくとアルファベット順に並んでしまうので、「ユーザー 設定リスト」を作ります。「初期設定…」あたりにあって、曜日や月 の名前、干支が並んでたりするところです。K N J A Hというリスト を作りましょう。 で、Bを最優先キーに、Cを2番目のキーに「並べ替え…」するとき に、オプションで「並べ替え順序の設定」にさっき作ったユーザー設 定リストを指定すればオッケーです。

northwest71
質問者

お礼

ありがとうございました 大変参考になりました

関連するQ&A

  • エクセルのソートで、数字よりもアルファベットを優先したい

    数字とアルファベットが混在したコードにソートをかけたいと思っています。 (A~Z、0~9の順にしたい) ユーザー設定リストで新しいリストを登録するんだろうな…までは分かるんですが、やってみてもうまくいきません。 私が試したのは、A、B、C…7、8、9と順に一桁です。 ソートをかけたいコードは*******-*という形です。

  • エクセルのソートについて

    こんにちは いつもお世話になっています。 エクセルのソートに関して教えてください。 A列に商品名(ふりがな情報あり)、B列に一桁と二桁の数字(標準表示形式)があります。 ソートの優先順位を第一がB列の下一桁の数字、第二がA列の商品名にする方法を教えてください。 よろしくお願いします。

  • sortコマンドについて

    ファイルaaaについて、 第1ソートキーを第1列目で数値順に 第2ソートキーを第2列目でアルファベット順に ソートした結果をbbbに出力したいと思います。 sort -n -k 1,1 -d -k 2,2 aaa > bbb としたところ、正しい結果が得られませんでした。 どのようにしたら良いのか教えて下さい。

  • ユーザIDのソート

    WebアプリのログインIDとして、CHAR型7桁で A0001~A000100(5桁~7桁) としているのですが、ユーザIDでソートした際に うまく並ばないんです。 ユーザ一覧をソートしようとした際に、 「A0001」「A0002」・・・「A00010」などと表示したいのに、ユーザIDでSELECTしてくると、 「A0001」「A00010」「A00011」「A00012」「A00013」となってしまい困っています。 うまくソートする方法は無いでしょうか? アドバイスをよろしくお願いいたします。 ※先頭は、アルファベットなので数字としてソートできないですし、IDは、7桁固定で0パディングするというのも出来ないんです。

  • ソート

    cygwinのCシェルで、ファイルの内容をソートしたいです。 数字だけだとsort -n でソートされるのですが、頭にアルファベットがある場合に ソートする方法はあるでしょうか? 下記のようになってしまうのですが、頭にアルファベットがあっても後ろの数字でソートしたいです。 L1 L10 L101 L102 L2 L20 L201 L3 L30 L301 L401

  • エクセルで文字が混じった数字を並べ替えしたいのですが

    どなたか、お力お貸し頂けませんか? 一言でも、アドバイス頂ければ幸いです!! エクセルで、製品の機番の並び替えをしたいです。 111234 223452 123A11 123B23 455A67 こんな感じで、機番が並んでいます。(本当は10桁だけどわかりやすくするため減らしてます) 困ったのは、機番にアルファベットが混じっているので、単純に照準で並べ替えると、アルファベット混じりでない数字のみが先にきて、アルファベット混じりが後に続くことです。 実は、アルファベットの前の数字を基準に並べ替えたいのです。(そして更に、アルファベット前の数字が同じな場合、以降のアルファベットはABC順に並べたい) 私が考えた方法は、 LEFT関数を使って、アルファベット前の数字だけ出して、(幸いなことに、アルファベットのある場所が、最初から4番目と決まっています、なので、これが使えると思って)、それを基準に昇順に並べ替える方法。 隣の列には、アルファベット含む全10桁の機番をそのまま付けておけば、これで自然と、アルファベットもABC順になってくれるみたいなので。 そして更に、アルファベットの混じっている機番だけが左詰めになってしまうので、数字のみの機番と見やすく揃えるため、セルの書式設定で、右か左のどちらか詰めに直します。 これでも、できるはできると思うのですが・・ このやり方では?という方法や何かアドバイスいただければ、とっても幸いです。 (機番が全部で1000個以上あって、これから私が在庫管理をまかされる機番の種類は、アルファベットが2個混じってるものや、混じってる位置もばらばらなものもあるようです><;アルファベットが最初と最後から3番目に混じってる機種とか・・(++;)今回はとりあえず、最初から4桁目がアルファベットの機種の機番のやり方だけでもと思い、ご相談させて頂きました) どうぞ宜しくお願い致しますm(__)m

  • エクセルマクロVBAのシートのソート

    エクセルのシート名のソートをマクロでしたいのですが 例えば、aaa1,bbb3,bbb5,aaa12,aaa5,ccc1,vvv2,vvv10を ソート後、bbb5,ccc1,vvv2,vvv10,aaa1,aaa5,aaa12のようにしたいです。 aaaのものだけをソートしてシート後ろに移動できればいいです。 その他はそのままで。 ところが、aaa12のように2桁の数字が入ると上手くソートできず困っています。 If Sheets(i).Name > Sheets(j).Name Thenのようなものでは、数字2桁と数字1桁のグループに 分かれてソートされてしまいました。 どのようにしたらいいでしょうか?

  • 多項目のソート

    現在Excelを使っているのですが 複数項目のソート(列1を最優先、列2を2番目に優先、列3を3番目に)はあるのですが 3項目までしか設定ができなくて困っております。 これ以上の数をソートできて、尚且つ優先順を設定できるソフト・ツールはないでしょうか? ご存知の方がいらっしゃいましたら宜しくお願い致します。 フリーウェアでお願いします。

  • ruby 1.8.7 で、多次元配列をソートする

    ruby 1.8.7 で、下記のような配列をソートしたいんですが、どう記述したら良いでしょうか。 x = [[1, 1], [2, 2], [11, 10], ・・・ [1, 13], [2, 14]] ..........a b a = 1番目の ソート 順 b = 2番目の ソート 順       よろしくお願いします。

    • ベストアンサー
    • Ruby
  • エクセルのVBAソートについて

    はじめましてm(__)m 昇順ソートで「0」を覗いてソートをかける方法をお教え頂けないでしょうか? 現在、下記方法でソートしております。 どうぞ宜しくお願い致します。 Sub J列目() Range("A9:L65536").Sort _ Key1:=Range("J9") _ , Order1:=xlAscending _ , Header:=xlGuess _ , MatchCase:=False _ , Orientation:=xlTopToBottom _ , SortMethod:=xlPinYin End Sub

専門家に質問してみよう