あかさたな…で行分けする

 名簿などでよく見る「あ行」「か行」などの区分を行う方法です。

 右のようなテーブルを用います。漢字から読みを導くことはできませんので、ふりがな列の存在は必須です(テーブルの「ふりがな」プロパティで入力作業を軽減することはできます)。


 クエリを使って区分するものとします。
 次のような2つの列を設けます。



頭文字: Left(StrConv([ふりがな],32),1)
あかさたな区分: Switch([頭文字] Like "[あ-お]","あ",[頭文字] Like "[か-ご]","か",[頭文字] Like "[さ-ぞ]","さ",[頭文字] Like "[た-ど]","た",[頭文字] Like "[な-の]","な",[頭文字] Like "[は-ぽ]","は",[頭文字] Like "[ま-も]","ま",[頭文字] Like "[や-よ]","や",[頭文字] Like "[ら-ろ]","ら",[頭文字] Like "[わ-を]","わ",True,"他")

 「頭文字」はふりがなの最初の1文字を抜き出す列です。なおStrConv関数を用いてカタカナをひらがなに変換していますので、カタカナも(ひらがなに統一されて)区分されます。
 「あかさたな区分」が求めようとする文字(「あ」、「か」など)を返す列です。Switch関数とlike句を用いる関係上、記述がいささか長くなりますが、「『や』以降をひとまとめにして『や・ら・わ』としたい」といった場合でも修正が簡単なので扱いやすいと思います。また、は行のマッチングは「Like "[は-ぽ]"」と記述します。「Like "[は-ぼ]"」とすると「ぽ」を拾えません。
 なおSwitch関数の最後にある「True,"他"」によって、数字、英字などの文字は確実に「他」に区分されます。


 データシートビューです。