エクセルでのデータの並び替えについて質問します。



郵便番号と数字と英字を組み合わせたコードが、ユーザに付いています。
010001~9、01000A~Z
107001~9、10700A~Z

984001~9、98400A~Z



と言う感じです。(2000あります)
これをエクセルの票にして、例えば次の8つのコードに対してデータの並び換えを行うと、


010001
010002
174001
174002
01000A
01000B
17400A
17400B


↑のような順番になります。
これを下のような並びにしたいのです。


010001
010002
01000A
01000B
174001
174002
17400A
17400B


どうすればいいでしょうか。


ちなみに英字の付いてるコードを下の様にいじってみましたが駄目でした。
(まぁ数が多いので元々現実的な手段ではありませんが…)


010001
010002
174001
174002
010009A
010009B
174009A
174009B

回答の条件
  • 1人3回まで
  • 登録:2007/11/30 16:26:00
  • 終了:2007/11/30 18:01:11

ベストアンサー

id:takejin No.1

たけじん回答回数1466ベストアンサー獲得回数1892007/11/30 17:17:09

ポイント56pt

全部文字列にしちゃえば、その順番になるのですが。

"'"(シングルクォーテーション)を頭につけると、数字が文字列になりますよ。

これでは、ちょっと数が多いので、隣の列に、

=TEXT(A1,"000000")   ※A1は隣のセルです。

と書いて、全部文字列にしてしまいましょう。その上でソートすればOK。

id:ken_wood

うまく行きました。ありがとうございます。

2007/11/30 17:53:06

その他の回答(2件)

id:takejin No.1

たけじん回答回数1466ベストアンサー獲得回数1892007/11/30 17:17:09ここでベストアンサー

ポイント56pt

全部文字列にしちゃえば、その順番になるのですが。

"'"(シングルクォーテーション)を頭につけると、数字が文字列になりますよ。

これでは、ちょっと数が多いので、隣の列に、

=TEXT(A1,"000000")   ※A1は隣のセルです。

と書いて、全部文字列にしてしまいましょう。その上でソートすればOK。

id:ken_wood

うまく行きました。ありがとうございます。

2007/11/30 17:53:06
id:scmiz No.2

scmiz回答回数5ベストアンサー獲得回数02007/11/30 17:31:08

ポイント22pt

Excel2007で試してみました。


数値と文字列が混在している可能性があります。

010001

010002

174001

174002

01000A

01000B

17400A

17400B

上4つが数値、下4つが文字列だとこのような並び順になってしまうようです。

数値なのに頭に0がついているのは変なので別の原因かと思ったのですが、どうやらExcelには


「数字が入力されたセルの書式設定で『文字列』を選んだとしても

そのままだと見た目が『文字列』であるだけでデータは『数値』として扱われてしまう」


という特徴があるようです。

一度そのセルで編集を行うと、その後は書式設定で選んだ書式として扱われるようになります。


以上のことをふまえて、解決法を考えると


  • データが入っている列を選択
  • 右クリック → 「セルの書式設定」 → 「表示形式」のタブ内の「分類」で「文字列」を選択 → 「OK」
  • 列の最初のセルを選択
  • F2キーでセルの編集モードにする → なにもせずEnterキーを押して編集を終え下セルへ → F2キーで......
  • 数字のみのセルのすべてで編集が終わったら並び替え

という手順になりそうです。

10行程度のサンプルデータで試したところ、無事成功しました。

データ数が2000もあると大変そうですが、他に有効な解決法が思いつきませんでした。すみません。

どなたかもっと効率のいい方法をご存知の方がいたら補足をお願いします。


ちなみに、データを入力する前にあらかじめ「文字列」として

書式設定を済ませておけばこの問題は起こらないと考えられます。



質問者の方と同じ環境であるとは限らないので、

この回答によって問題が解決するかどうかはわかりませんが……。

ご参考までに回答させていただきました。

id:hiko3karasu No.3

hiko3karasu回答回数1058ベストアンサー獲得回数252007/11/30 17:23:32

ポイント2pt

やってみましたが、

「並べ替えの前に」というウィンドウがでて、

「数値とテキスト形式の数値を分けて並べ替えを行う」

を選んだらできました。

エクセル2003です。

  • id:hiko3karasu
    先ほどの方法は
    '010001
    と、文字列で入力されたセルの場合でした。
  • id:scmiz
    回答を書くのに時間をかけているうちに、もっと良い解決法が書き込まれていましたね。
    すみません。私の回答はスルーしてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません