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

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

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

コード

使い方

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

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

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

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

SortIndex関数を入れる

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

結果

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

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

コードの説明

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

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

コメントをどうぞ

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

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

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

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


PAGE TOP ↑