先週、先々週に続いてコンピューターの謎の動作を知るシリーズ。
今回のお題はExcelのソート順の謎だ。
モトネタは神戸の森卓司さんがFacebookに書かれていたことである。
勝手にパクってスミマセン。

いま
あいぞめ
あいもの
あおもり
あかひげ
あきなす
藍染め
和え物
青森
赤ひげ
秋茄子
という5つの言葉とそのよみがなをソートしたくなったとする。
どうしてそんなことしたくなったかは聞かないでください。
こうなる。

20141028sortDos

これはShift_JISなのでJIS漢字順になる。
まず非漢字のひらがながきて、ここはソート順になる。
その下は漢字コード順だが、藍、和、青、赤、秋、全部第1水準漢字であって、よみがな順になっている。
もっとも藍はたぶんアイではなくてランになっている。
和はワ。
青はセイ。
赤はセキ。
秋はシュウではなくてアキ。
よってシュウ<セイ<セキ<ラン<ワで上のような順になっている。
要するに単純にコード順になっているのだ。

これをエクセルでパチパチ手入力してみる。

20141028sortExcel_1


ソートすると、こうなる。

20141028sortExcel_2

ひらがなと漢字がいい感じにマダラになっているのだ。
ナニコレー。

これは、Excelの「並べ替えオプション」が、「ふりがなを使う」になっているのだ。
並べ替えキーを押したところで表示される並べ替えダイアログに、オプションというボタンがあって、それをクリックすると表示されるダイアログで制御する。
これが、デフォルトでは、なんと、ふりがなを使うがオンになっているのだ。
知らなかった。

じゃあふりがなはどうやって出すかというと、「ホーム」タブの「ア亜」というアイコンを押して(わかりにくいアイコンだな!)「ふりがなの表示」というのを選ぶと表示される。

20141028sortExcel_4

へぇー。

ちなみに「大分のことが大分わかってきた」のような同字異音語の場合、キー入力を使って入れているようだ。

20141028sortExcel_5

でも単純にキー入力でもないらしい。
AKB48入山杏奈さんの「入山(いりやま)」という苗字を入れるために、まず「入場」と入力したとする。
この時点で「ニュウジョウ」とふりがなが振られている。

20141028sortExcel_6

ところがここで、1回バックスペースキーを押して、「場」を消すと、「入」の読みが「イ」になる。

20141028sortExcel_7

これに続いて、「山」を入れると、「イリヤマ」が出てくる。

20141028sortExcel_8

「リ」はキー入力していないので、やはりかな漢字変換辞書から引いてくる、同字異音語があった場合は、キー入力を参照して切り分ける、という論理のようだ。

ちなみに、さきほどの
あいぞめ
あいもの
あおもり
あかひげ
あきなす
藍染め
和え物
青森
赤ひげ
秋茄子
をテキストエディターからコピペしてきたとする。

すると、「ふりがなを表示」しても、ちょっと間が空くだけで、ふりがなは入らない。

20141028sortExcel_9

ソートしてもガッとコード順になる。

20141028sortExcel_a

しおしおー。
つまり、手入力したデータと、エディターからコピペしたデータは、扱いが違う、ということだ。
これは困らないか。
挙動が予測できないのである。

ちなみに「ふりがなの編集」もできるので、間違ったふりがなを振られたり、なぜかふりがなが入らなかったりして、ソート順がヘンになったデータは、手で修正できるようだ。
ううん、でも、それは、ソートーめんどくさい。