
No.2ベストアンサー
- 回答日時:
まずは、文字の並べ替え規則をもう一度確認されたほうがよさそうです。
文字列データの並べ替えは、大ざっぱに言うと昇順で0~9、記号、A~Zの順に、文字列の左から1文字ずつ判断されることになります。この鉄則から言えば、「AA-00B999 M」のあとに再び「@@」で始まるデータが来るということはあり得ません。
また、何らかのコードなどの符合体系なのかもしれませんが、このような場合は桁数を揃えるというのも鉄則です。たとえば、ハイフンで区切られているのも、何らかの意味合いがあると思いますが、このハイフンを挟んだ左右の文字数が一定でありませんので、思った通りの並べ替えができないでしょう。
それに加え、No.1の方も指摘なさっているように、「@AA-99A999 M」と「@AA-00A999 N」は文字数が同じですが、ハイフンのあとの「99」と「00」では「00」のほうが昇順では先になります。
このような理由から、元のデータを加工しなければ、思うような並べ替えはできないでしょう。その際、桁数を統一するのはもちろんですが、コード体系そのものも変更する必要がありそうです。優先順位の法則性など、補足くだされば、具体的な解決法を提示できる可能性もありますが…。
この回答への補足
ご回答ありがとうございます。
知りたかった内容と質問した内容と違っていました。
(優先順位の法則など、いい加減でした・・)
自分でよく考えてから質問したつもりですが、次回から更によく考えてから投稿します。
No.1
- 回答日時:
並び替えルールを言葉で、優先順に箇条書きに書いてください。
例ではよくわかりません。
例えば、
@AA-99A999 M
@AA-00A999 N
は、99と00の関係でこの順になっているのか、
MとNの関係でなっているのか。とか
実際のデータだけから判断しろという方が無理です。
逆に
並び替えルールを言葉で、優先順に箇条書きに
書けた時点で、8割方目的は達成されたようなものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
ユーザーフォームのテキストボ...
-
配列でデータが入っている要素...
-
DataGridViewのデータの引渡し...
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
特定のデータの抽出方法を教え...
-
メモ帳(テキストデータ)をExc...
-
【プログラム】プログラミング...
-
VBA & easycomm で長時間測定の...
-
ビットシフトについて
-
VBA 空白セルを削除ではない方...
-
【VBA】データを入力後に,同一...
-
[C言語] コメント文字列を無視...
-
Excel VBAでのオートフィルター...
-
Accessで該当データにフラグを...
-
エクセルで2つの時系列のデー...
-
COBOL数値転記をCOPY句内での仕様
-
VBA 円グラフ 特定条件に一致し...
-
C言語の度数分布の問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報