• ベストアンサー

EXCELの並べ替えについて

エクセルで、セル内に文字と数字を組み合わせたデーターの並べ替えがうまくできません。 一行目に「ユ、チ、ホ、キ」のいずれかのカタカナ1文字と5桁の数字を組み合わせたデータの並べ替えを行うと、 数字の部分が並べ替えがされません。 ・オプションのユーザ設定リストで「ユ、チ、ホ、キ」と設定し、数字は昇順に並べたい。 <例>降順で設定すると、 ユ72035   ユ02100 ユ02020 ユ00393 ユ00285 チ34600 チ09650 チ02860 チ02845 チ00300 チ00055 キ00110 ユ、チ、キの順となりますが、数字の部分は、降順になってしまいます。 降順で設定すると キ00110 チ00055 チ00300 チ02845 チ02860 チ09650 チ34600 ユ00285 ユ00393 ユ02020 ユ02100 ユ72035 文字の部分がキ、チ、ユと逆になり、数字の部分が、ばらばらです。 どのように設定すれば、先頭文字がユ、チ、キ、ホの順の数字部分が昇順になるでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • jindon
  • ベストアンサー率43% (50/116)
回答No.5

A1 からデータがあるとして 作業列を2列使用 作業列1列目 =IF(LEFT(A1,1)="ユ",1,IF(LEFT(A1,1)="チ",2,IF(LEFT(A1,1)="ホ",3,IF(LEFT(A1,1)="キ",4,"")))) 作業列2列目 =--RIGHT(A1,LEN(A1)-1) として両列を対象データ最終行までコピー+ペースト 作業列1,2に並べ替え条件 終了後作業列削除 では?

maemaetomo
質問者

お礼

まさに、ずばり。すぐにできました。ありがとうございました。

その他の回答 (7)

  • jindon
  • ベストアンサー率43% (50/116)
回答No.8

#5です。 データが多い(3200)ということは、先頭文字の種類ももっと多い、ということであれば以下のようなことも1案かと、 並べ替え順序用作業シート(仮名:作業シート)を用意しA1からユ、キ、チ、ホ、・・等A列に入力しておきます。 #5の 作業列1列目 =IF(LEFT(A1,1)="ユ",1,IF(LEFT(A1,1)="チ",2,IF(LEFT(A1,1)="ホ",3,IF(LEFT(A1,1)="キ",4,"")))) を =MATCH(LEFT(A1,1),作業シート!A:A,0) に変えて後の手順は#5と同じ。 作業シートの入力により並べ替え順序は自由に変えられますね。

maemaetomo
質問者

お礼

すごい! すぐにできました。目からうろこでした。ありがとうございました。

  • yosakoi
  • ベストアンサー率16% (10/61)
回答No.7

数字の入ったセルを反転させて昇順をクリックすると小さいウインドウがでませんか? そのウインドウの 『現在選択されているウインドウを並べ変える』をクリックすると数字だけ昇順されます。 もしこのウィンドウが出ない場合は‥ ごめんなさい。

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

#4です。 ユ、チ、ホ、キでユーザー設定して キ1 キ2 キ3 チ1 チ1 チ2 チ4 チ4 ホ1 ユ1 ユ2 ユ3 をソートしました。 何も順序が変りません。登録した以上の文字列については 登録は、全面的に無効なのでは。 (勿論ユ、チ、ホ、キ1文字の場合は旨く行きました) >数字の部分が並べ替えがされません---は事実と違いませんか。 不勉強等で、間違っておれば、申し訳ありませんが。

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

私のエクセルの状態で(OKWEB質問画面をコピー貼りつけし、何もユーザー設定していないで)ソートすると、昇順では キ00110 チ00055 チ00300 チ02845 チ02860 チ09650 チ34600 ユ00285 ユ00393 ユ02020 ユ02100 ユ72035   となります。これは私の予想と違う点はありません。 (1)・オプションのユーザ設定リストで「ユ、チ、ホ、キ」と設定し---の問題か (2)オプションの「振りガナを使う」の問題 でしょう。 そもそもユーザー設定で第1番目文字だけ順番を設定し ソートしても、「第2文字目以降まで連続してソートキーとして見てくれるか」の疑問があります。 おっしゃることが事実だとすれば、エクセル・ユーザー設定では、登録文字列以降の2文字目以降の順は考慮されない(バラバラ)のかもしれません。ここまで特殊ケースについては、市販の書物には解説はないでしょう。 事実を基に対策を考えざるをえません。 ユーザー設定に頼らず、 (1)カナ部分を順序を考えたコード化する (2)カナ部分と数字部分を列を分離する どちらも関数のお世話になることと思います。

  • kikero
  • ベストアンサー率33% (174/517)
回答No.3

 #1の方のおっしゃっている事を具体的に書きます。 チ00110などのデータの一つ右列を空け、次に対象データ行全体に以下の処理をします。  ツールバーの「データ」→「区切り位置」→「スペースによって・・・」→次へ→最初の一文字と2文字目の堺の部分をクリック(縦線が入る)→「完了」  これで、カタカナ部分と数字部分が2つの列に分かれました。  この後、並べ替えしますが、最優先されるキーをカタカナの列にして降順に、2番目に優先されるキーを数字の列にして昇順に設定すると出来ます。

  • miwaki
  • ベストアンサー率36% (14/38)
回答No.2

この記号の列がA列だとすれば、B列に=left(A1,1)、C列に=right(A1,6)として分離し、B列に降順、C列に昇順と指定して並び替えをしたらいかがでしょうか

  • nyannmage
  • ベストアンサー率24% (201/821)
回答No.1

ユの列と数字の列と分けてはどうですか? 勿論分けても行自体がばらばらになる事は有りません 見た目の問題がある場合セル内でユの部分を左寄席 数字の部分を右寄せにして境界線を消してしまえばいいと思いますが (*ソートのかけ方次第ではなってしまう場合がありますが)

maemaetomo
質問者

お礼

早々のお返事ありがとうございます。データが3200件あまりあるため、分けて入力することが、大変なのです。ほかに良い方法ありましたら教えてください。