- ベストアンサー
EXCEL2000で並べ替えをしたいのですが?
あるフィールドに数値(文字扱い)と文字列が混在しています。 項目 201 2AB 2CD 111 2桁目は英字→数字の順にしたいのですが、降順で並べ替えると、 項目 2CD 2AB 201 111 になります。 これを何とか 項目 111 2AB 2CD 201 と並べ替えられないでしょうか?
- みんなの回答 (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で使用できました。
その他の回答 (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) で強引に順位付けするのはどうでしょうか。
質問者
お礼
試したところ、元データで文字列の部分に#N/Aが表示されましたが参考になりました。 有難うございました。
- oresama
- ベストアンサー率25% (45/179)
回答No.1
LEFT関数 MID関数 RIGHT関数 で 3つにばらして、並べ替えしたらいかがでしょう。 LEFTで抽出した1桁目を昇順 MIDで抽出した2桁目を降順にしたら どうでしょうか。
質問者
補足
有難うございます。 関数でばらして並べ替えも考えたのですが、アルファベットABC順のあとに数値を表示したいのです。
お礼
有難うございます。 確かに思った通りの結果が返ってきました。 関数を組み合わせることで出来るんですね!助かりました。