- 締切済み
Excellで並べ替えについて(記号を含む)
エクセルで記号の混ざった英数字(文字列)の並び替えがうまくできません。 例) @@AA-99A999 G @AA-99A999 M @AA-00A999 N AA-00B999 M @@D1-000999 @D1-000999 という具合に並べ替えをしたいと考えています。 過去の質問例を参考にしてみましたがうまくいきませんでした。 アドバイスをよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fmajin
- ベストアンサー率61% (75/122)
まずは、文字の並べ替え規則をもう一度確認されたほうがよさそうです。文字列データの並べ替えは、大ざっぱに言うと昇順で0~9、記号、A~Zの順に、文字列の左から1文字ずつ判断されることになります。 この鉄則から言えば、「AA-00B999 M」のあとに再び「@@」で始まるデータが来るということはあり得ません。 また、何らかのコードなどの符合体系なのかもしれませんが、このような場合は桁数を揃えるというのも鉄則です。たとえば、ハイフンで区切られているのも、何らかの意味合いがあると思いますが、このハイフンを挟んだ左右の文字数が一定でありませんので、思った通りの並べ替えができないでしょう。 それに加え、No.1の方も指摘なさっているように、「@AA-99A999 M」と「@AA-00A999 N」は文字数が同じですが、ハイフンのあとの「99」と「00」では「00」のほうが昇順では先になります。 このような理由から、元のデータを加工しなければ、思うような並べ替えはできないでしょう。その際、桁数を統一するのはもちろんですが、コード体系そのものも変更する必要がありそうです。優先順位の法則性など、補足くだされば、具体的な解決法を提示できる可能性もありますが…。
- banker_U
- ベストアンサー率21% (17/78)
並び替えルールを言葉で、優先順に箇条書きに書いてください。 例ではよくわかりません。 例えば、 @AA-99A999 M @AA-00A999 N は、99と00の関係でこの順になっているのか、 MとNの関係でなっているのか。とか 実際のデータだけから判断しろという方が無理です。 逆に 並び替えルールを言葉で、優先順に箇条書きに 書けた時点で、8割方目的は達成されたようなものです。
補足
ご回答ありがとうございます。 知りたかった内容と質問した内容と違っていました。 (優先順位の法則など、いい加減でした・・) 自分でよく考えてから質問したつもりですが、次回から更によく考えてから投稿します。