Excellで並べ替えについて(記号を含む)

締切り済みの質問

Excellで並べ替えについて(記号を含む)

エクセルで記号の混ざった英数字(文字列)の並び替えがうまくできません。
例)
@@AA-99A999 G
@AA-99A999 M
@AA-00A999 N
AA-00B999 M
@@D1-000999
@D1-000999

という具合に並べ替えをしたいと考えています。
過去の質問例を参考にしてみましたがうまくいきませんでした。
アドバイスをよろしくお願いいたします。

投稿日時 - 2005-11-10 19:16:39

QNo.1770702

すぐに回答ほしいです

3人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(2件中 1~2件目)

ANo.2

まずは、文字の並べ替え規則をもう一度確認されたほうがよさそうです。文字列データの並べ替えは、大ざっぱに言うと昇順で0~9、記号、A~Zの順に、文字列の左から1文字ずつ判断されることになります。

この鉄則から言えば、「AA-00B999 M」のあとに再び「@@」で始まるデータが来るということはあり得ません。

また、何らかのコードなどの符合体系なのかもしれませんが、このような場合は桁数を揃えるというのも鉄則です。たとえば、ハイフンで区切られているのも、何らかの意味合いがあると思いますが、このハイフンを挟んだ左右の文字数が一定でありませんので、思った通りの並べ替えができないでしょう。

それに加え、No.1の方も指摘なさっているように、「@AA-99A999 M」と「@AA-00A999 N」は文字数が同じですが、ハイフンのあとの「99」と「00」では「00」のほうが昇順では先になります。

このような理由から、元のデータを加工しなければ、思うような並べ替えはできないでしょう。その際、桁数を統一するのはもちろんですが、コード体系そのものも変更する必要がありそうです。優先順位の法則性など、補足くだされば、具体的な解決法を提示できる可能性もありますが…。

投稿日時 - 2005-11-11 08:29:18

補足

ご回答ありがとうございます。
知りたかった内容と質問した内容と違っていました。
(優先順位の法則など、いい加減でした・・)
自分でよく考えてから質問したつもりですが、次回から更によく考えてから投稿します。

投稿日時 - 2005-11-21 19:24:58

ANo.1

並び替えルールを言葉で、優先順に箇条書きに書いてください。

例ではよくわかりません。
例えば、
@AA-99A999 M
@AA-00A999 N
は、99と00の関係でこの順になっているのか、
MとNの関係でなっているのか。とか
実際のデータだけから判断しろという方が無理です。

逆に
並び替えルールを言葉で、優先順に箇条書きに
書けた時点で、8割方目的は達成されたようなものです。

投稿日時 - 2005-11-10 19:52:28

あわせてチェックしたい
  • @@ERRORと@@ROWCOUNT併用について ...
  • 驚異の99.999点 ...
  • サーバー稼働率(99.999%)「5ナイン」??? ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら