• ベストアンサー

EXCEL2000で並べ替えをしたいのですが?

あるフィールドに数値(文字扱い)と文字列が混在しています。 項目 201 2AB 2CD 111 2桁目は英字→数字の順にしたいのですが、降順で並べ替えると、 項目 2CD 2AB 201 111 になります。 これを何とか 項目 111 2AB 2CD 201 と並べ替えられないでしょうか?

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.3

A列にデータがあるとして、B列に次の式を入れます。 =LEFT(A1,1)&IF(MID(A1,2,1)<="9","1"&MID(A1,2,1),"0"&MID(A1,2,1))&RIGHT(A1,1) AB列を範囲指定して、B列をキーとして並び替えをすれば、望みどおりの結果が出ます。 エクセル2000で使用できました。

ponchan777
質問者

お礼

有難うございます。 確かに思った通りの結果が返ってきました。 関数を組み合わせることで出来るんですね!助かりました。

その他の回答 (2)

  • oresama
  • ベストアンサー率25% (45/179)
回答No.2

仮に当該データがA列にあるとします。 B列はLEFT関数でA列の1桁目を抽出 どこかに A 1 B 2 : : : : 0 27 1 28 : : 9 36 というリストを作って、 B列に =vlookup(mid(元データ,2,1),リストの範囲,2,0) で強引に順位付けするのはどうでしょうか。

ponchan777
質問者

お礼

試したところ、元データで文字列の部分に#N/Aが表示されましたが参考になりました。 有難うございました。

  • oresama
  • ベストアンサー率25% (45/179)
回答No.1

LEFT関数 MID関数 RIGHT関数 で 3つにばらして、並べ替えしたらいかがでしょう。 LEFTで抽出した1桁目を昇順 MIDで抽出した2桁目を降順にしたら どうでしょうか。

ponchan777
質問者

補足

有難うございます。 関数でばらして並べ替えも考えたのですが、アルファベットABC順のあとに数値を表示したいのです。