- ベストアンサー
エクセルのソート順がおかしい
- B4セルから縦方向にデータを降順にコード順にソートする方法を教えてください。
- VBAで作成された関数を使用してデータの比較を行っていますが、川崎とG大阪の大小関係がおかしいです。
- エクセル2000で2分木探索を使用してソートを行っていますが、コード順になりません。どうすればよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>どうすればソートがコード(ユニコード)順になるのか、教えて下さい ちなみにOption Compare Textを宣言すると,通常のワークシートのソート順にVBAが従うようにできます。 そうではなくあくまでも並べ替えの動作をVBAに倣わせたいのでしたら,そういう設定はありません。 ご自分でVBAと同じユニコード順に従って並べ替えるプログラム(たとえば簡単なバブルソート)を実装して,実行してください。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
>川崎 < G大阪 >大小関係がおかしくなる。 全体は見えませんが、Unicode 比較でしたら、正しいのではありませんか? 全角のGは、FF27 (24029)です。 川崎の川は、5DDD (-217)ですから、 どちらが大きいかは自明ですね。 JIS比較するなら、 全角のGは、90EC(-32154)です。 川崎の川は、8266(-28436)ですから、 川崎 > G大阪 となりますね。 ワークシートは、JIS比較です。VBAでも、JIS比較は出来ますが、ワークシートの並べ替えを使ったほうが早いです。 TextCompare にしたら、全角・半角・小文字・大文字が一緒になります。だから、Gそのものは、半角扱いになりますから、 半角:全角 "G" = "G" となります。 なお、質問は、[ですます]文でお願いします。
- mshr1962
- ベストアンサー率39% (7417/18945)
磐田(イワタ) 川崎(カワサキ) G大阪(ガンバオオサカ) C大阪(セレッソオオサカ) ()内のフリガナ順になってませんか? 並べ替え時にオプションで“ふりがなを使わない”設定にしてみてください。 VBAだとSortMethodでxlPinYinが“ふりがなを使う”、xlStrokeが“ふりがなを使わない”になります。