質問: excellで並べ替えについて(記号を含む) エクセルで記号の混ざった英数字(文字列)の並び替えがうまくできません。 例) @@aa-99a999 g @aa-99a999 m @aa-00a999 n aa-00b999 m @@d1-000999 @d1-000999 という具合に並べ替えをしたいと考えています。 過去の質問例を参考にしてみましたがうまくいきませんでした。 アドバイスをよろしくお願いいたします。
回答: まずは、文字の並べ替え規則をもう一度確認されたほうがよさそうです。文字列データの並べ替えは、大ざっぱに言うと昇順で0~9、記号、a~zの順に、文字列の左から1文字ずつ判断されることになります。 この鉄則から言えば、「aa-00b999 m」のあとに再び「@@」で始まるデータが来るということはあり得ません。 また、何らかのコードなどの符合体系なのかもしれませんが、このような場合は桁数を揃えるというのも鉄則です。たとえば、ハイフンで区切られているのも、何らかの意味合いがあると思いますが、このハイフンを挟んだ左右の文字数が一定でありませんので、思った通りの並べ替えができないでしょう。 それに加え、no.1の方も指摘なさっているように、「@aa-99a999 m」と「@aa-00a999 n」は文字数が同じですが、ハイフンのあとの「99」と「00」では「00」のほうが昇順では先になります。 このような理由から、元のデータを加工しなければ、思うような並べ替えはできないでしょう。その際、桁数を統一するのはもちろんですが、コード体系そのものも変更する必要がありそうです。優先順位の法則性など、補足くだされば、具体的な解決法を提示できる可能性もありますが...。