- ベストアンサー
エクセルのデータを順番に並べ替えたい
「A列」のようなデータを、「A'列」の用に順番に並べ替えたいと思います。 A列のデータは文字列のデータで、エクセル内のデータの並べ替えを行っても思うようになりません。 何か方法はないでしょうか。 A列 3-4 1-2 3-2 5-1 1-1 3-1 2 3-3 4-1 5-2 A'列 1-1 1-2 2 3-1 3-2 3-3 3-4 4-1 5-1 5-2
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
データ性格の違ったデータが混じっていてうまくいかないケースでないなら 並べ替えに都合の良い修正ソーとキーを別列に作ってその列で並べ替えるほか無いのが定石。 例データ 半角数字とーのデータとする A1:A10 ソート後の結果ですが、質問のデータでやってください。 1-1 0101 1-2 0102 2 0200 3-1 0301 3-2 0302 3-3 0303 3-4 0304 4-1 0401 5-1 0501 5-2 0502 ーー B1セルに =IF(ISERROR(FIND("-",A1)),TEXT(A1,"00")&"00",TEXT(LEFT(A1,FIND("-",A1)-1),"00")&TEXT(RIGHT(A1,LEN(A1)-FIND("-",A1)),"00")) と入れてB10まで式を複写する。 結果 上記の(ソート前の)通り。 B列でソートする(もちろんA列+B列範囲指定して、ソート) 結果 上記の通り。 (注) Text関数の中で"00"にした理由は13-11のようなケースがあるかもと想定したため。 ーー もし全角数字だとすると、一旦=ASC(A1)のような関数を使って別列に半角化しておいて上記を行う。
その他の回答 (6)
- mu2011
- ベストアンサー率38% (1910/4994)
「2」のような箇所が多いようでしたら次の手順で文字列にして並び替えをお試し下さい。 A列を選択→データ→区切り位置→次へ→次へ→列データの形式欄の文字列を選択→完了
お礼
mu2011さん、回答ありがとうございます。 「区切り位置」のご説明ありがとうございます。 仰るとおり、「2」のようなデータが複数あります。 質問時には抜粋したデータを掲載させて頂きました。 ありがとうございました。
- outerlimit
- ベストアンサー率26% (993/3718)
#2です 2 だけが数値 他が文字列になっているようです 2 を '2 に変更して確認してみてください
お礼
outerlimitさん、再回答ありがとうございます。 お教え頂いた方法を、試させた頂きます。 ありがとうございました。
- ryuujiok2205
- ベストアンサー率21% (233/1098)
私も文字列になってるなら要望どおりになるはずと思いますが。 数字をハイフンでつなぐ表記は絶対避けたほうがいいです。コピペすると悲惨なことになります。
お礼
ryuujiok2205さん、回答ありがとうございます。 仰るとおり、この手のデータを「-」で繋ぐと大変なことになることを痛感いたしました。 今後は分割してデータ入力を行い、別のセルにて結合させるようにしようと思っています。 ありがとうございました。
- htmcr
- ベストアンサー率36% (11/30)
A)「2」を「'2」とする B)Ctrlキー+Aキーで全選択 → 右クリック→セルの書式設定 →「表示形式」タブを選択→分類「文字列」を選択してOK A,Bどちらかで正しく並べ替えが行われるはずです
お礼
htmcrさん、回答ありがとうございます。 お教え頂いた方法を、試させた頂きます。 ありがとうございました。
- outerlimit
- ベストアンサー率26% (993/3718)
どのような状態になりますか 文字列扱いになっていれば お望みの様になるはずです 見かけは同じ様に表示されても、データの形式が混在してしていませんか ? 個々のデータの詳細を確認してください
お礼
outerlimitさん、早々の回答ありがとうございます。 並べ替えを行うと、以下のようになります。 何とか、簡単に筆問のとおりに出来ないかと思っています。 何か良い方法を教えて頂けると幸甚です。 よろしくお願いします。 A'列 2 1-1 1-2 3-1 3-2 3-3 3-4 4-1 5-1 5-2
補足
文字訂正です。 「筆問」ではなく「質問」です。 申し訳ありません。
- jirafu2003
- ベストアンサー率16% (70/429)
初歩的なやり方ですが、セルを3分割して並び替えるとできます。この方法以外でもできると思いますが、一番、この方法が早いかもしれません。今すぐに思いついた方法です。
お礼
jirafu2003さん、早々の回答ありがとうございます。 セルの3分割方法が判りません。 その他の方法を教えて頂けると幸甚です。 よろしくお願いします。
お礼
imogasiさん、回答ありがとうございます。 今後はデータの入力方法に気を付けたいと思います。 テキスト関数内の「"00"」について、仰るとおり、質問では一桁で行っていますが、実際の修正したいデータは、「4桁-3桁」のデータなので、非常に助かりました。 この数式を参考にさせて頂き、データ修正を行いたいと思います。 ありがとうございました。