- ベストアンサー
Excel2003での並べ替えについて
行を上から 1>1A>1B>2>2A>2B・・・15>15A>15B という順序で 並べ替えしたいのですが、可能でしょうか? 対象行のセルを書式設定で文字列や数値に変換してみたのですが 意図したようには並べ替えができませんでした。 何卒ご教示の程、宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
書式を文字列にしただけではうまくいかないと思います。 数字そのものを数値ではなく文字列として入力する必要があると思います。 数字のみの項目については頭に「’」をつけて入力してください。 たとえば '1 のように
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
やってみると、エクセルの数字化のお節介が強くて、やりにくく、てこずった。 (1)全角化してソート (2)数字桁と英字文字桁を、別列に分離して2列をソーとキーにして(A列第1+B列第2)ソート でやれるかもしれない。 都合の良いケースでは、例えば数字は半角しかない、とかに限るが出来るかも知れない。 ーー どちらもVBAでユーザー定義の関数を使うが。 標準モジュールに Function zen(a) zen = StrConv(a, vbWide) End Function と入れて、シートのB列にでも、 =zen(A1)と入れると全角化する。 ーー 一方は 標準モジュールに Function suu(a) For i = 1 To Len(a) If IsNumeric(Mid(a, i, 1)) Then Else suu = Mid(a, 1, i - 1) Exit Function End If Next i End Function と入れて シートでは、=suu(A1) と入れる 文字は隣列にでも =RIGHT(A1,LEN(A1)-LEN(B1)) ーー ソートの途中で警告が出るが、そのまま進む。 テストデータが少ないので、十分テストできてないが、よければやってみてください。
お礼
ありがとうございました! VBAはまだ使えないので教えていただいた解法を試すことが できずに心苦しいのですが、今の自分のエクセル操作レベル では解決することがかなり難しいということだけは理解できました。 ご協力に感謝いたします。
- gyouda1114
- ベストアンサー率37% (499/1320)
質問の趣旨が良くわかりませんが 推定すると 1>1A>1B 2>2A>2B 3>3A>3B 4>4A>4B ・ ・ 14>14A>14B 15>15A>15B このように並べ替えるということですか このサイトを参考にしてどうぞ 文字列扱いの数値を一括変換,「区切り位置」機能の裏ワザ http://pc.nikkeibp.co.jp/article/column/20080728/1006424/?P=3
- maron--5
- ベストアンサー率36% (321/877)
◆表示形式を「文字列」にしてから、入力してください ◆そして、並び替えをすればご希望どうりになるはずです
補足
ご回答いただきましてありがとうございます。 「表示形式を文字列にする」にはどのようにすれば よいのでしょうか? セルの書式設定で文字列に指定するのとは違う設定ですか?
お礼
ご回答いただきありがとうございました! 入力するときに「’」をつければいいのですね。 簡単かつ確実な方法を教えていただき感謝しております。