Excelでデータを整理するときに欠かせない「並び替え」機能。顧客ID・商品コード・郵便番号・社員番号など、文字と数字が混ざったデータを扱うことは多いでしょう。
ところが、並び替えを実行した途端に 「1, 10, 2」のように順番が崩れる」「アルファベットと数字が混ざってぐちゃぐちゃになる」 といったトラブルが発生することがあります。
この記事では「Excel 並び替え 文字 数字 混合」と検索している方に向けて、並び替えが思い通りにならない原因と、その解決方法を詳しく解説します。さらに、実務で役立つ応用テクニックや注意点も紹介します。
目次
- ✅ Excelで文字と数字が混ざった並び替えが崩れる主な原因
- ・原因1:Excelは「文字列」と「数値」を区別している
- ・原因2:同じ列の中に混在している
- ・原因3:全角・半角の混在
- ・原因4:桁数が揃っていない
- ✅ 解決策1:数値と文字列を分けて並べ替える
- ・手順
- ✅ 解決策2:桁数を揃えて文字列として並べる
- ・方法
- ✅ 解決策3:関数で並び替えを制御(Excel 365以降)
- ・使用例
- ・応用例:アルファベット順+数字順
- ✅ 解決策4:Power Queryを使って分解・並べ替え
- ・手順概要
- ✅ 実務での応用シーン
- ✅ 並び替えが崩れるのを防ぐためのチェックリスト
- ■ まとめ:文字と数字が混合しても関数と工夫で正しく並べ替えできる
✅ Excelで文字と数字が混ざった並び替えが崩れる主な原因
まずは、なぜ文字と数字が混ざると並び替えが「おかしく」なるのかを理解しましょう。
・原因1:Excelは「文字列」と「数値」を区別している
Excelは内部的に、セルに入力された値を「数値」か「文字列」として認識します。
- 数値扱い → 昇順なら 1 → 2 → 10
- 文字列扱い → 昇順なら "1" → "10" → "2"
➡️ 文字列扱いになると「辞書順」で並ぶため、期待と違う結果になります。
・原因2:同じ列の中に混在している
「123」「A123」「B2」「10」などが混在すると、Excelは文字列と数値を混ぜて比較するため順序が乱れます。
・原因3:全角・半角の混在
「1」「1」「A1」「A1」のように見た目は同じでも、内部的には別データとして認識されます。
・原因4:桁数が揃っていない
「1」「2」「10」「100」のように桁数が異なると、文字列並びでは「1, 10, 100, 2」といった並びになることがあります。
参考:【Excel】頭に0をつける方法と関数で桁数を調整する方法
✅ 解決策1:数値と文字列を分けて並べ替える
最もシンプルなのは「数値は数値、文字は文字」として分けて並べ替える方法です。
・手順
- 補助列を作成
ISNUMBER関数で数値かどうかを判定
=ISNUMBER(A2)
➡️ 数値なら TRUE、文字列なら FALSE を返す。
- この補助列を基準に並べ替えを実行
➡️ まず文字・数字を分けて、その後昇順・降順を指定可能。
参考:【Excel】検索結果をわかりやすく表示する方法まとめ|抽出・強調・整理で業務効率化
・メリット
- データが混ざっても正確に制御できる
- 郵便番号や商品コードなどでも応用可能
✅ 解決策2:桁数を揃えて文字列として並べる
「001」「002」「010」のように桁数を統一すると、文字列扱いでも正しい順番に並べ替えられます。
参考:【Excel】セルに曜日だけを入れる方法【TEXT関数・書式設定・手入力の使い分け】
・方法
- セルの表示形式で「000」と指定
➡️ 3桁で統一され「1 → 001」「10 → 010」と表示されます。 - または
TEXT関数で加工
=TEXT(A2,"000")
・活用シーン
- 商品コード
- 社員番号
- 郵便番号
✅ 解決策3:関数で並び替えを制御(Excel 365以降)
Excel 365では SORTBY 関数を使って、文字と数字が混ざった列でも柔軟に並び替えが可能です。
・使用例
商品コード(A列)を「数値部分の大きさ」で並び替える
=SORTBY(A2:A20,VALUE(MID(A2:A20,2,10)),1)
➡️ 「A123」「A2」「A10」などが「A2 → A10 → A123」の順に並びます。
・応用例:アルファベット順+数字順
=SORTBY(A2:A20,LEFT(A2:A20,1),1,VALUE(MID(A2:A20,2,10)),1)
➡️ 「A2, A10, A123」と「B1, B2…」のようにアルファベット単位で昇順、その中で数字昇順になります。
✅ 解決策4:Power Queryを使って分解・並べ替え
より高度な方法として「Power Query」を使うと、文字と数字を分解して並べ替えできます。
・手順概要
- データをPower Queryに取り込む
- 「列の追加」→「カスタム列」で文字部分と数字部分を分割
- 数字部分を数値型に変換
- 文字列列と数値列を基準に並べ替え
- Excelに戻す
➡️ 正確な順序で並べ替えられるため、大規模データや商品コード整理に有効です。
✅ 実務での応用シーン
- 商品コード管理:「A1, A2, A10」が順番通りに並ぶように調整
- 社員番号:文字と数字が混ざった社員コードを整理
- 郵便番号リスト:全角・半角混在を修正して昇順に
- 顧客ID:「C001, C010, C02」を正しく昇順に揃える
✅ 並び替えが崩れるのを防ぐためのチェックリスト
- データの型(数値 or 文字列)を確認したか?
- 桁数を揃えているか?
- 全角・半角が混ざっていないか?
- ふりがなや空白が混ざっていないか?
- 補助列を活用して判定できる状態にしたか?
■ まとめ:文字と数字が混合しても関数と工夫で正しく並べ替えできる
Excelで文字と数字が混ざったデータを並び替えるときに順序が崩れるのは、内部的に「文字列」と「数値」を区別しているからです。
- 補助列+ISNUMBER関数 → 数字と文字を分けて制御
- TEXT関数や表示形式 → 桁数を揃えて並び替え
- SORTBY関数(Excel 365) → 数字部分を抽出して並べ替え
- Power Query → 文字列・数値を分解して大規模データにも対応
✅ まとめ:ちょっとした工夫で「文字と数字が混ざってぐちゃぐちゃになる」問題は解決可能です。自分の業務に合った方法を選び、効率的にデータを整理しましょう。