プロが教えるわが家の防犯対策術!

行を上から 1>1A>1B>2>2A>2B・・・15>15A>15B という順序で
並べ替えしたいのですが、可能でしょうか?
対象行のセルを書式設定で文字列や数値に変換してみたのですが
意図したようには並べ替えができませんでした。

何卒ご教示の程、宜しくお願い致します。

A 回答 (4件)

やってみると、エクセルの数字化のお節介が強くて、やりにくく、てこずった。


(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))
ーー
ソートの途中で警告が出るが、そのまま進む。
テストデータが少ないので、十分テストできてないが、よければやってみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました!

VBAはまだ使えないので教えていただいた解法を試すことが
できずに心苦しいのですが、今の自分のエクセル操作レベル
では解決することがかなり難しいということだけは理解できました。

ご協力に感謝いたします。

お礼日時:2008/10/24 20:29

質問の趣旨が良くわかりませんが


推定すると
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 …
    • good
    • 0

書式を文字列にしただけではうまくいかないと思います。


数字そのものを数値ではなく文字列として入力する必要があると思います。
数字のみの項目については頭に「’」をつけて入力してください。
たとえば '1 のように
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました!

入力するときに「’」をつければいいのですね。
簡単かつ確実な方法を教えていただき感謝しております。

お礼日時:2008/10/24 20:32

◆表示形式を「文字列」にしてから、入力してください


◆そして、並び替えをすればご希望どうりになるはずです

この回答への補足

ご回答いただきましてありがとうございます。

「表示形式を文字列にする」にはどのようにすれば
よいのでしょうか?
セルの書式設定で文字列に指定するのとは違う設定ですか?

補足日時:2008/10/23 23:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!