CSVモードでのソート機能への要望No.28860
hawk-eye さん 10/09/04 21:05
 
環境は、
Windows XP Pro SP3
秀丸エディタ Version 8.01a
です。


CSVモードでのソート機能において、以下の3つの要望があります。


●ソートする文字列の対象から、半角カンマを除きたい。

表計算ソフトのように表示しているだけ
という事を考えれば正しいのかもしれませんが、
区切り文字に使用している半角カンマが、
ソート対象の文字列の一部として扱われるのは仕様でしょうか?

例えば、ソート対象内に、次のような二つの文字列があった場合、
AAA*,
AAA,
期待する昇順のソート結果は、半角カンマを無視した次の順序なのに、
AAA,
AAA*,
実際に昇順でソートすると、次の順序になってしまいます。
AAA*,
AAA,

私としては、半角カンマを除いた文字列だけでソートできて欲しいので、
仕様であれば、半角カンマを除く事ができるように検討をお願いします。


●半角カンマしかない空のセルの順序を最後にしたい。

上記に関係する話だと思いますが、半角カンマしかない空のセルは、
昇順、降順に関係なく、順序を最後にできるように検討をお願いします。

現状は、半角カンマがソート対象の文字列の一部として扱われているせいか、
昇順でソートすると、空のセルが上位にきてしまい、
本来見たいデータがあるセルが下位になってしまうので、
空のセルがたくさんあるデータの場合、
ソート後に、下の方にスクロールしないと、
本来見たいデータが見られません。


●列毎に優先順位をつけて、複数列でのソートもしたい。

エクセル2007のソート機能において、
優先するキー(列)の設定がありますが、
これができると利便性が上がるので、
ソートしたい列毎に優先順位をつけて、
その複数列でソートできるように検討をお願いします。


よろしくお願いします。

[ ]
RE:28860 CSVモードでのソート機能への要No.28863
秀丸担当 さん 10/09/06 09:50
 

>●ソートする文字列の対象から、半角カンマを除きたい。

確かに言われている通りになりました。

a*,
a,
a-,

という場合、「a,」が間に入ってしまうので、これは仕様というよりバグと考え
ていいと思います。
V8.02の次のβ版で修正させていただきます。

>●半角カンマしかない空のセルの順序を最後にしたい。

こちらの挙動は基本的なルールとしては昇順と降順では逆になるように、昇順で
は上に来て降順では下に来るというようにしたほうがいいかもしれません。
もしやるとしたらオプションのほうがいいかもしれないです。
そういうこともできたらいいということで、ネタとして参考にさせていただきま
す。

>●列毎に優先順位をつけて、複数列でのソートもしたい。

ここまでくるとテキストエディタの単なるタブストップ揃え用の機能というより、
表計算ソフトの高度な機能ということになってくると思いますが、ネタというこ
とで参考にさせていただきます。

[ ]
RE:28860 CSVモードでのソート機能への要No.28864
colder さん 10/09/06 13:33
 
colderです

>●列毎に優先順位をつけて、複数列でのソートもしたい。

これは、優先順位の低い列から順に複数回ソートすることで可能です。

[ ]
RE:28864 CSVモードでのソート機能への要No.28866
hawk-eye さん 10/09/06 15:16
 
キーにしたい三つの列で試してみたら出来ました。
ありがとうございました。

[ ]
RE:28863 CSVモードでのソート機能への要No.28869
hawk-eye さん 10/09/06 23:26
 
半角カンマしかない空のセルが、
昇順の場合は上の方、降順の場合は下の方になるようにしてしまうと、
colder さんに教えていただいた方法で昇順ソートした場合に、
次のようになると思います。

ソート前のデータは、次の通りです。

5,BBB,b,
4,BBB,c,
3,BBB,b,
1,AAA,a,
1,AAA,,
2,AAA,,

優先したい列の順序が、B列、C列、A列だった場合、
優先順位が低い方から順(A→C→B)に昇順ソートすると、
次のようになると思います。

1,AAA,,
2,AAA,,
1,AAA,a,
3,BBB,b,
5,BBB,b,
4,BBB,c,

半角カンマしかない空のセル同士が
同一内容のセルだというふうに考えれば、
この結果は正しいのかもしれません。

しかし、半角カンマしかない空のセルは、
このデータで言えば、
C列の「a」でも「b」でも「c」でもない、
どれにも属さないその他のデータというような感じで、
ソート後の一行目と三行目(A列が「1」のデータ)が
連続している順序が個人的に望ましい気がします。

ちなみに、エクセルの場合は、次のようなソート結果になります。
1,AAA,a
1,AAA,
2,AAA,
3,BBB,b
5,BBB,b
4,BBB,c

個人的には、やはり、比較する文字列がない、半角カンマだけの空のセルは、
順序を最後にした方がユーザーのイメージに近い気がします。

半角カンマしかない空のセルの順序において、
何らかの対応をする事になった場合には、
こういう事があるという事も併せて検討をお願いします。

よろしくお願いします。

[ ]
RE:28869 CSVモードでのソート機能への要No.28870
秀丸担当 さん 10/09/07 10:46
 

>ちなみに、エクセルの場合は、次のようなソート結果になります。

エクセルの場合は空のセルは必ず最後になるのですね。
エクセルの使い勝手に合わせるとしたら、最後にできたほうがいいかもしれない
です。
秀丸エディタとしては、CSVでない普通のソートの場合でも、従来より空の行は昇
順で上にきていたということもあり、やはり互換性ということもあるので現状で
はこのままとさせていただこうと思います。
もしやるとしたらオプションでやるネタということで参考にさせていただきます。

[ ]