数字→英字→ひらがな→漢字→カタカナで並び替える

Excelの並び替え機能で、文字列を昇順並び替えをすると通常は「数字→英字→カタカナ→ひらがな→漢字」となりますが、カタカナを最後にしたい場合のユーザー定義関数です。

Unicodeでのコード順が半角数字→半角英字→ひらがな→漢字→半角カタカナであることを利用しています。

コード

使い方

上記のコードを標準モジュールに貼り付けます。

参考:ユーザー定義関数の設定方法

並べ替えたい表の最終列にでもソート用の項目を作ります。例ではB列にソート用項目を作りました。

そこに =SortIndex(A2) というように上記のコードで作られた関数をB列のセルに入力します。

SortIndex関数を入れる

そうすると結果がこのように表示されます。↓

結果

これはUnicodeを1文字ずつ抽出した結果です。

そしてこのB列で昇順並べ替えすれば「数字→英字→ひらがな→漢字→カタカナ」での並べ替えが可能です。

コードの説明

これも単純なコードなので説明するほどではありませんが、最初に述べたようにUnicodeが「数字→英字→ひらがな→漢字→カタカナ」であることを利用して、一文字ずつUnicodeを抽出しています。

頭に_(アンダーバー)を入れているのは数字のみのUnicodeもあるため、結果として数字と文字列が混在することを防ぐためにアンダーバーで強制的に文字列にしています。

コメントをどうぞ

メールアドレスが公開されることはありません。

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

STDEV フロー図 図形 テンプレート 印刷 HLOOKUP 無料 日付 ワイルドカード SUMIF 偏差値 NA() TODAY グラフ COUNTIF 条件付き書式 変換 SUM バーコード VLOOKUP COLUMN 作業効率UP ユーザー定義関数 置換 検索 目標 コピペ XLSTART DATE セル選択
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑