• ベストアンサー

エクセル2000で数字のソートについて

以下は、エクセル2000でソートした結果です。 先頭はタイトル行で、各セルの[']は削除済みです。 ------- 図形ID 1410619 → (1) 1410620 → (2) 0010101 → (3) 0010102 → (4) 1550719 → (5) 1550720 → (6) ------- 期待した結果(右の番号で言えば3,4,1,2,5,6の順)とは異なります。 (1)と(2)のセルで、[F2]KEYを押してセル内で編集可能にしてから 何もせずに[Enter]を押し、再度ソートすると何故か期待通りの結果が 得られます。 数百行ある場合、いちいちセルごとに「[F2]を押して何もせずに[Enter]」 などやってられませんので、他に何かいい方法はないでしょうか? ※表示形式=文字列 です。先頭の"0"は必要です。

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

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

おかしな結果で、回答しずらいですね。 ーー 大切なことが質問に書いてないのでは? このデータは、何か外部データを取り込んだのではないですか。 時どき似た質問があったようだが、文字列の先頭のプレフィックス がややこしいのでは。 ーー 下記以外の良さそうな回答が出れば、下記は無視してください。 >F2]KEYを押してセル内で編集可能にしてから 何もせずに[Enter]を押し、再度ソートすると エクセルの入力値はできるだけ数値化するという仕組みで、数値化するからでしょう ーー 下記は上から5行ぐらいでどうなりますか? =TYPE(A1)を空き列に入れて、 結果は文字列の2になりますか。 =CELL("prefix",A1)を空き列に入れて、結果は’ですか。 ーー 書式を見るため VBEの標準モジュールに下記を貼り付けてどうなりますか。 Sub test01() For i = 1 To 10 Cells(i, "Z") = Cells(i, "A").NumberFormat Next i End Sub を実行してみてください。 空き列をZ列と仮定しています。 結果が@ ですか。 -- 10行ぐらいで下記をやってみて、うまくいけば(ソートできれば)、下記を全行対象にやってみてください。 Y列を空き列と仮定してます。 For i = 1 To 10ーー>For i = 1 To 500(最終行) ーー Sub test02() For i = 1 To 10 Cells(i, "Y").NumberFormat = "@" Cells(i, "Y") = Format(Val(Cells(i, "A")), "0000000") Next i End Sub

ogi1
質問者

お礼

データは何年もの間、色んな方が色んな方法で登録をしたものです。 =TYPE(A1),=CELL("prefix",A1) を実行すると以下のようになりました。 ※データは質問時と異なりますが、ソートがおかしいのは同じです。 図形ID、=type、=cell 1310101、1、 1310102、1、 0060601、2、' 0060602、2、' 1550719、2、' 1550720、2、' Sub test01() を実行すると、Z列に"General"表示されました。 Sub test02() を実行してY列に表示されたものをソートすると うまくいきました!色々と知らない関数が使われていて因果関係が よく分からないですがヘルプを見て勉強してみます。 ご回答ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

お示しのデータですが、左揃えに書式設定した場合に、(3)~(6)のデータは下図のように1文字分右側にずれていませんか?  図形ID  1410619 → (1)  1410620 → (2)   0010101 → (3)   0010102 → (4)   1550719 → (5)   1550720 → (6)

ogi1
質問者

お礼

左揃え、右揃え、中央揃えのどれでもないときに、以下のようにずれます。 図形ID  1410619 → (1)  1410620 → (2) 0010101 → (3) 0010102 → (4) 1550719 → (5) 1550720 → (6)

すると、全ての回答が全文表示されます。
  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.3

色々な並び替え(ソート)方法があるようです。 http://excel.syuriken.jp/data-1.htm http://www.eurus.dti.ne.jp/~yoneyama/Excel/sort.html#syoujyun

ogi1
質問者

お礼

ご回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

その列を選択して、「データ」「区切り位置」で「次へ」「次へ」 列のデータ形式で文字列を選択して完了 その後に並び替えで駄目でしょうか?

ogi1
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A