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

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

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

コード

使い方

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

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

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

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

SortIndex関数を入れる

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

結果

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

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

コードの説明

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

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

コメントをどうぞ

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

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

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

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


PAGE TOP ↑