Excel一覧 Excel操作 並び替え・ソート 検索・抽出

【Excel】数字を並び替えると「1, 10, 100, 2」になる原因と解決方法|正しい昇順・降順の作り方

Excelで社員番号や商品コード、売上データを並び替える際、「数字を昇順にしたら 1, 10, 100, 2 のように並んでしまった」という経験はありませんか?

一見するとExcelの不具合のように思えますが、実際には データの形式や認識方法の違い によって起こる現象です。そのまま放置すると分析や報告資料の精度に影響するため、正しい原因把握と解決策が必要です。

この記事では「Excel 並び替え 数字 1 10 100」と検索している方に向けて、順番が崩れる原因と解決方法を詳しく解説します。さらに、Excel 365以降での関数による自動化、実務での活用事例まで紹介します。

✅ なぜ「1, 10, 100, 2」のように並んでしまうのか?


・原因1:数字が文字列として扱われている

Excelはセルの値を「数値」か「文字列」として認識します。

  • 数値扱い → 1 → 2 → 10 → 100
  • 文字列扱い → 「1」→「10」→「100」→「2」

➡️ 文字列扱いになると、辞書順で並ぶため期待通りになりません。


・原因2:桁数が揃っていない

「1」「10」「100」のように桁数がバラバラだと、文字列並びでは「100」が「2」より前に来るなど順序が崩れます。

参考:【Excel】数値の頭に0をつける方法|見た目と値の両方から解説


・原因3:全角と半角が混在している

「1(全角)」と「1(半角)」は別物として扱われるため、並び順が崩れる原因になります。


・原因4:空白や特殊文字が含まれている

「100」の後に空白があるだけで文字列として扱われ、順序が乱れます。


✅ 解決策1:数値に変換する


・方法1:区切り位置で一括変換

  1. 数字が入力されている列を選択
  2. [データ] → [区切り位置] → そのまま完了
    ➡️ Excelが文字列を数値に認識し直します。
    参考:【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説

・方法2:数式で数値化

=A1*1

➡️ 文字列を数値化できます。コピーして「値貼り付け」で戻すと正しく扱えます。

参考:【Excel】上付き文字をコピペする方法【書式を維持してコピー&ペースト】


・方法3:VALUE関数を使う

=VALUE(A1)

➡️ 数値に変換され、正しい昇順・降順に並べ替え可能になります。

参考:【Excel】数式で出る「#VALUE!」エラーの原因と対処法を徹底解説


✅ 解決策2:桁数を揃えて表示する

商品コードや社員番号のように桁数が異なる場合、桁揃えをすると安定した並び替えができます。


・TEXT関数でゼロ埋め

=TEXT(A1,"000")

➡️ 「1」が「001」、「10」が「010」、「100」が「100」と統一表示されます。

参考:【Excel】曜日を扱う関数の使い方まとめ【TEXT関数・WEEKDAY関数・CHOOSE関数】


・表示形式を設定

セルの書式設定 → [ユーザー定義] → 「000」などを指定すると、見た目はゼロ埋めされつつ内部的には数値として扱われます。


✅ 解決策3:関数で自動的に昇順・降順に並べる(Excel 365)


・SORT関数

=SORT(A2:A20,1,1)   → 昇順
=SORT(A2:A20,1,-1)  → 降順

➡️ 数値を自動で並べ替え。データを追加しても自動更新されます。


・SORTBY関数

=SORTBY(A2:A20,VALUE(A2:A20),1)

➡️ 文字列化した数字でも VALUE で変換して正しい並びになります。


・LARGE/SMALL関数でランキング

=LARGE(A2:A20,1)   → 最大値
=SMALL(A2:A20,1)   → 最小値

➡️ 順位ごとに抽出でき、ランキング表作成に便利です。




✅ 実務での応用例


・社員番号リスト

「1, 10, 100, 2」が正しく「1, 2, 10, 100」と並ぶように調整。


・商品コード

ゼロ埋めを活用して「001, 010, 100」と揃え、見やすい並びを実現。


・売上ランキング

売上金額を降順で並べ替え、上位商品のみを抽出。


・日付や時間の整理

シリアル値を基準に昇順・降順に並べ替え、最新順のデータ分析に活用。


✅ 並び替えで失敗しないためのチェックリスト

  • 数字が文字列になっていないか?
  • 桁数を揃えているか?
  • 全角と半角が混ざっていないか?
  • 空白や特殊文字を削除したか?
  • Excel 365なら関数で自動化できないか?

■ まとめ:Excelで「1, 10, 100, 2」とならないために

Excelで数字を並び替えたときに「1, 10, 100, 2」と崩れるのは、ほとんどが 文字列として扱われていること桁数が揃っていないこと が原因です。

  • 文字列を数値に変換(区切り位置、VALUE関数、数式)
  • TEXT関数や表示形式で桁数を統一
  • Excel 365なら SORTSORTBY で自動化
  • 大規模データはPower Queryで整備

✅ まとめ:見た目ではなく「Excelがどう認識しているか」を確認して正しい形式に整えることが、正しい並び替えの第一歩です。

    -Excel一覧, Excel操作, 並び替え・ソート, 検索・抽出