[エクセル] フィルターの並び替え順序は不完全である

背景

エクセルのフィルター機能でソートをかけた表に対して、VBAで二部探索をしたら結果がうまくいかなかった。

ソート順序

動作確認をしただけであり公式の定義を確認したわけではないがおそらくは以下の通り。

エクセル

  1. 漢字は「音読み」のあいうえお順
  2. 促音、小文字、濁音、半濁音を区別していない
    「つ/っ」、「ゃ/や」、「か/が」、「は/ぱ」

VBA

  1. 文字コード順で比較をする
  2. 上記2.の区別をしている

実行結果

漢字

北海道が「あ」の位置にあるのは正直謎

ひらがな

ソート前     ソート後