Home / Microsoft / Excel / 【2026年最新版】Excelの並び替え(ソート)が正しく動かない・おかしい原因と対処法

【2026年最新版】Excelの並び替え(ソート)が正しく動かない・おかしい原因と対処法

※本ページにはプロモーション(広告)が含まれています

Excelで並び替え(ソート)をしたのに、なぜか順番がおかしい、一部しか並び替わらない、日本語が五十音順にならない……そんな経験はありませんか?

実はExcelのソートが正しく動かない原因の多くは、データの形式や構造に起因するものです。正しい原因を把握して適切に対処すれば、ほとんどのケースで解決できます。

この記事では、Excelの並び替えが正しく動かない主な原因を8つに絞り、それぞれの対処法をわかりやすいステップ形式で解説します。日本語の五十音順ソートやユーザー設定リストの活用方法まで網羅しているので、ぜひ最後までご覧ください。

この記事でわかること

  • Excelのソートが正しく動かない8つの主な原因
  • 原因ごとの具体的な対処法(ステップ形式)
  • 日本語が五十音順にならない場合のPHONETIC関数を使った解決方法
  • 複数列を条件にした並び替えの設定方法
  • 日付データが文字列になっていてソートできない場合の変換手順
  • ユーザー設定リストで独自の並び替え順を定義する方法

Excelの並び替え(ソート)の基本

対処法に入る前に、Excelのソート機能の基本をおさえておきましょう。

ソートの基本操作

並び替えを行うには、対象の列内のセルを1つ選択した状態で、リボンの「データ」タブ →「昇順」または「降順」ボタンをクリックします。複数の条件で並び替えたい場合は、同じく「データ」タブの「並び替え」ボタンから「並び替えダイアログ」を開いて設定します。

ソートの種類

種類 内容 使用場面
昇順 小さい順・A〜Z順・古い順 数値・日付・アルファベット
降順 大きい順・Z〜A順・新しい順 数値・日付・アルファベット
ユーザー設定順 独自に定義した順番 曜日・役職・優先度など

基本をおさえたうえで、ソートがうまくいかない原因と対処法を見ていきましょう。

Excelの並び替えが正しく動かない主な原因

ソートが思い通りにならないとき、その原因は大きく以下の8つに分類できます。

主な原因一覧
  1. セルが結合されている
  2. 空白行・空白列が混在している
  3. 数値が文字列として入力されている
  4. セルの先頭や末尾にスペースが入っている
  5. 数値と文字列が混在している列をソートしている
  6. フィルターがかかっていて一部のデータが非表示になっている
  7. 日付データが文字列として入力されている
  8. 日本語が五十音順にならない(ふりがな情報がない)

原因別の対処法

原因1:セルが結合されている

結合セルが含まれているとソートを実行しようとしたときに「この操作を行うには、同じサイズの結合セルが必要です」というエラーが表示され、並び替えができません。

結合セルはソートの大敵です。並び替えを行う前に結合を解除する必要があります。

対処手順
  1. 並び替え対象の範囲を全選択する(Ctrl+Aなど)
  2. リボンの「ホーム」タブ →「配置」グループにある「セルを結合して中央揃え」の右の▼をクリック
  3. 「セル結合の解除」を選択
  4. 結合解除後、空白になったセルに適切な値を入力してからソートを実行する

ポイント:結合を解除すると、もとの結合範囲の左上以外のセルが空欄になります。VLOOKUP関数などを使って空欄を埋めてからソートを行いましょう。

原因2:空白行・空白列が混在している

データの途中に空白行や空白列が含まれていると、Excelはそこでデータの範囲が終わったと判断します。その結果、空白行の手前までしかソートされないという問題が起きます。

対処手順
  1. Ctrl+Endを押してデータの最終セルを確認する
  2. 空白行がある場合は、該当行の行番号をクリックして選択し、右クリック →「削除」で行ごと削除する
  3. 空白列がある場合も同様に列を削除する
  4. 空白を削除したあとで再度ソートを実行する

ポイント:空白行を残したままにしたい場合は、ソート前にデータ範囲を手動で選択(ドラッグ)してからソートすると、指定範囲内のみを対象にできます。

原因3:数値が文字列として入力されている

数値のように見えても、セルに文字列として入力されている場合、数値の昇順・降順にならず、文字列の順序(辞書順)でソートされてしまいます。

例えば、1・2・10・20という値があっても文字列だと「1・10・2・20」という順番になってしまいます。これは文字として先頭の「1」「2」を比較するためです。

文字列として認識されている数値のセルには、左上に緑色の三角マーク(エラーインジケーター)が表示されることがあります。

対処手順(方法A:VALUE関数で変換)
  1. 空いている列(例:C列)に =VALUE(A1) と入力する
  2. 数式をデータ末尾までコピーする
  3. C列全体をコピーし、A列に「値のみ貼り付け」(Ctrl+Alt+V → 値)する
  4. 作業用のC列を削除してからソートを実行する
対処手順(方法B:区切り位置ウィザードで一括変換)
  1. 変換したい列全体を選択する
  2. 「データ」タブ →「区切り位置」をクリック
  3. 「次へ」を2回クリックしてステップ3に進む
  4. 「列のデータ形式」で「標準」を選択し「完了」をクリック
  5. 選択していた文字列の数値が数値形式に変換される

原因4:セルの先頭や末尾にスペースが入っている

コピペしたデータなどに先頭や末尾の半角・全角スペースが混入していると、ソートの順序が意図通りにならないことがあります。見た目には気づきにくいため厄介です。

対処手順(TRIM関数を使う)
  1. 空いている列(例:B列)に =TRIM(A1) と入力する
  2. TRIM関数は先頭・末尾のスペースと、単語間の連続スペースを1つに整理してくれる
  3. 数式をデータ末尾までコピーする
  4. B列全体をコピーし、A列に「値のみ貼り付け」する
  5. 作業用のB列を削除してからソートを実行する

ポイント:全角スペースはTRIM関数では除去できません。全角スペースが含まれる場合は =SUBSTITUTE(TRIM(A1)," ","") のようにSUBSTITUTE関数と組み合わせて使いましょう。

原因5:数値と文字列が混在している

1つの列に数値と文字列が混在していると、Excelは数値と文字列を別々にグループ化してソートします。たとえば数値グループが昇順に並んだあとに文字列グループが並ぶ、という結果になってしまいます。

対処手順
  1. 列内のデータ型を統一する
  2. すべて数値として扱う場合はVALUE関数で文字列を数値に変換する(上記「原因3」参照)
  3. すべて文字列として扱う場合は =TEXT(A1,"0") 関数で数値を文字列に変換する
  4. データ型が統一されたことを確認してからソートを実行する

原因6:フィルターがかかっていて一部が非表示になっている

オートフィルターで行が非表示になっている状態でソートを実行すると、非表示行を含めた全データがソートされてしまいます。その結果、フィルターを解除したときに順序が想定外になることがあります。

また、行が非表示になっていること自体を忘れていて、「一部のデータが消えた」と誤解するケースもあります。

対処手順
  1. 「データ」タブ →「フィルター」ボタンをクリックしてフィルターをいったんオフにする(またはすべて表示させる)
  2. 全データが表示された状態でソートを実行する
  3. 必要であればソート後に再度フィルターをかける

原因7:日付データが文字列として入力されている

「2026/03/05」のように見えても文字列として入力されている場合、日付順にソートできません。セルの書式設定が「文字列」になっているか、「’2026/03/05」のようにアポストロフィを先頭に付けて入力された場合に起きます。

対処手順(DATEVALUE関数を使う)
  1. 空いている列(例:B列)に =DATEVALUE(A1) と入力する
  2. 数式をデータ末尾までコピーする
  3. B列に日付のシリアル値(数値)が表示されるので、セルの書式を「日付」に変更する
  4. B列をコピーし、A列に「値のみ貼り付け」する
  5. A列の書式を「日付」に設定してからソートを実行する

ポイント:区切り位置ウィザード(「データ」タブ →「区切り位置」)でも日付文字列を日付シリアル値に変換できます。ステップ3の「列のデータ形式」で「日付」を選択して完了を押すだけです。

原因8:日本語が五十音順にならない

Excelで日本語を並び替えると、五十音順にならないことがあります。これはExcelが日本語のソートにふりがな(読み)情報を使うためで、入力方法によってふりがな情報が異なったり、存在しなかったりします。

たとえば「山田」という漢字をキーボードで「やまだ」と入力してから変換した場合はふりがな情報が「ヤマダ」として記録されますが、他のシステムからコピペしたデータにはふりがな情報がありません。

この問題への対処法はPHONETIC関数を使う方法で、次のセクションで詳しく解説します。

ソート範囲を手動指定する方法(応用テクニック)

通常、Excelはソート時に連続したデータ範囲を自動で検出します。しかし空白行や空白列が含まれている場合や、特定の列だけをソートしたい場合は、あらかじめ範囲を選択してからソートを実行することで、意図した範囲だけを並び替えられます。

手動で範囲を指定してソートする手順
  1. ソートしたいデータ範囲をドラッグで選択する(ヘッダー行も含める)
  2. 「データ」タブ →「並び替え」をクリックする
  3. ダイアログが開いたら並び替えキーを設定して「OK」をクリックする

注意:列1列だけを選択してソートしようとすると、「選択範囲を拡張しますか?それとも現在の選択範囲のみで操作しますか?」というダイアログが表示されます。「選択範囲のみ並び替える」を選ぶと、その列だけが並び替えられて行のデータが対応する行からズレてしまいます。基本的には「選択範囲の拡張」を選んで行全体を一緒に並び替えてください。

ソートが効かない・変化しない場合の追加チェックポイント

上記を試してもソートが正しく動かない場合は、以下のポイントも確認してみてください。

チェックポイント 確認方法 対処法
シートが保護されている 「校閲」タブ →「シートの保護」の状態確認 「シート保護の解除」でパスワードを入力して解除
ブックが共有モードになっている タイトルバーに「共有」と表示されているか確認 「校閲」タブ →「ブックの共有」を解除する
データが複数のシートにまたがっている 対象データが1枚のシートにまとまっているか確認 データを1シートにまとめてからソート
グループ化で行が折りたたまれている 行番号の左に「+」マークがないか確認 「データ」→「グループ解除」するかすべて展開してからソート
計算式の結果をソートしようとしている セルに数式が入っているか確認(数式バーで確認) 値のみ貼り付けで数式を値に変換してからソート

ふりがな(PHONETIC関数)を使った日本語五十音順ソート

日本語の五十音順ソートには、PHONETIC関数でふりがな列を作成してそれを基にソートする方法が最も確実です。

PHONETIC関数とは

PHONETIC関数は、セルに記録されているふりがな(読み)情報を取り出す関数です。

=PHONETIC(セル参照)

ただし、コピペしたデータや他システムから取り込んだデータにはふりがな情報がないため、PHONETIC関数を使っても空白や文字化けになることがあります。その場合は後述の方法でふりがなを付け直す必要があります。

ふりがな列を使った五十音順ソートの手順

手順
  1. 氏名や商品名などの列の隣に新しい列を挿入する(例:A列に氏名があればB列を挿入)
  2. B1セルに =PHONETIC(A1) と入力してEnterキーを押す
  3. B1セルをデータ末尾までコピーしてふりがな列を作成する
  4. ふりがなが正しく表示されているか確認する(正しく表示されない場合は下記「ふりがなの付け直し」を行う)
  5. ふりがなが正しく入っていれば、ふりがな列(B列)を基準にソートを実行する
  6. ソート完了後、ふりがな列は非表示にするか削除してもよい(削除する場合は「値のみ貼り付け」で結果を固定してから)

ふりがなが正しく取得できない場合の対処方法

コピペデータなどでふりがな情報が記録されていない場合は、以下の方法でふりがなを付け直します。

方法:セルのふりがなを手動で編集する
  1. ふりがなを付けたいセルを選択する
  2. 「ホーム」タブ →「ふりがなの表示/非表示」の右の▼をクリック →「ふりがなの編集」を選択する
  3. セル上部にふりがなフィールドが表示されるので、正しい読みを入力してEnterキーを押す
  4. 全セルに同様の操作を行ったあと、PHONETIC関数列が正しく更新されていることを確認してからソートする

大量データのふりがな処理:データ件数が多い場合は、一度Excelで直接入力し直す(変換確定する)と自動的にふりがなが記録されます。マクロ(VBA)を使って一括でふりがなを振ることも可能です。

複数列のソート(並び替えの優先順位を設定する)

たとえば「部署名の五十音順で並べ、同じ部署内では入社日が古い順」のように、複数の条件で並び替えたい場合は「並び替えダイアログ」を使います。

複数条件ソートの手順
  1. データ範囲内のセルを1つ選択する
  2. 「データ」タブ →「並び替え」をクリックして並び替えダイアログを開く
  3. 「列」で第1の並び替えキーを選択(例:部署名)し、「順序」を設定する
  4. 「レベルの追加」ボタンをクリックして第2のキーを追加する(例:入社日)し、「順序」を設定する
  5. 必要なだけレベルを追加したら「OK」をクリックする

複数条件ソートの設定例

優先順位 並び替えキー(列) 順序
第1優先 部署名 昇順(A〜Z、あ〜ん)
第2優先 入社日 昇順(古い順)
第3優先 氏名のふりがな 昇順(あ〜ん)

ユーザー設定リストで独自の並び替え順を定義する

「月・火・水・木・金・土・日」の曜日順や「社長・部長・課長・係長・一般」のような役職順など、標準の昇順・降順では表現できない独自の順番でソートしたい場合はユーザー設定リストを使います。

ユーザー設定リストの登録手順
  1. 「ファイル」→「オプション」→「詳細設定」を開く
  2. 画面を下にスクロールし「全般」セクションの「ユーザー設定リストの編集」をクリックする
  3. 「リストの項目」欄に並べたい順番で1行ずつ入力する(例:社長、部長、課長、係長、一般)
  4. 「追加」をクリックして登録し、「OK」で閉じる
ユーザー設定リストを使ってソートする手順
  1. データ範囲内のセルを選択し、「データ」タブ →「並び替え」を開く
  2. 並び替えキーの列を選択する
  3. 「順序」のドロップダウンで「ユーザー設定リスト」を選択する
  4. 登録したリストを選択して「OK」をクリックする
  5. 定義した順番でデータが並び替えられる

ソートに関するよくある質問(FAQ)

Q1. 並び替えをしたら行のデータがバラバラになってしまいました。元に戻せますか?

A. ソート直後であればCtrl+Zで元に戻せます。ただし保存後は元に戻せないため、重要なデータは事前にバックアップを取っておくことをおすすめします。また、ソート前に「連番列」を追加しておくと、連番でソートすることで元の順序に戻せます。

Q2. ヘッダー行まで並び替えに含まれてしまいます。

A. 「並び替えダイアログ」を開き、右上の「先頭行をデータの見出しとして使用する」チェックボックスがオフになっている可能性があります。このチェックをオンにすると、1行目がヘッダーとして除外されます。また、ヘッダー行の書式(太字・背景色など)が他の行と異なっているとExcelが自動的にヘッダーを認識しやすくなります。

Q3. フィルターをかけて表示されている行だけをソートしたい場合はどうすればよいですか?

A. フィルターが適用された状態でソートを実行すると、表示されている行のみがソートされます(非表示の行はソートされますが、フィルターで隠れたままになります)。フィルター解除後に全体をソートする方法とは結果が異なる場合があるため、目的に合わせて使い分けてください。

Q4. テーブル(Excelのテーブル機能)を使っているとソートに影響がありますか?

A. テーブル機能を使っている場合、テーブル内のデータは自動的に範囲として認識されるため、空白行による範囲外れの問題が起きにくくなります。ただし、テーブルの外のセルは別範囲として扱われるため、テーブルの外に重要なデータを置かないようにしましょう。

Q5. 「1」「2」「10」という数値を並び替えると「1」「10」「2」の順になります。

A. これは数値が文字列として入力されているケースです。文字列の並び順は先頭の文字から1文字ずつ比較するため、「1」→「10」→「2」という辞書順になります。本記事の「原因3」で解説したVALUE関数または区切り位置ウィザードを使って数値形式に変換してください。

Q6. 色や条件付き書式でソートはできますか?

A. できます。「並び替えダイアログ」の「並び替えのキー」で「セルの色」または「フォントの色」を選択すると、セルの背景色やフォントの色を基準にソートできます。ただし、複数の色が混在している場合は「上に表示される色」を指定する形になり、すべての色を自動的に階層分けすることはできません。

Q7. 並び替え後に番号(連番)が崩れてしまいます。どう対処すればよいですか?

A. 「=ROW()-1」のような数式で連番を作っている場合、ソートしても数式が参照する行番号は変わらないため、見た目の連番は崩れません。ソート後に連番を振り直したい場合は、連番列のデータを「値のみ貼り付け」で固定してからソートするか、ソート後に1から連番を入力し直してください。

Q8. SORT関数を使うと元データが並び替えられますか?

A. いいえ、SORT関数は元データを変更せず、並び替えた結果を別の場所に出力します。Excel 2021またはMicrosoft 365で使用できる関数です。=SORT(配列, 列番号, 順序) の形式で使い、動的に並び替えた表を別セルに表示できます。元データを変更せずに並び替えを見せたい場合に便利です。

まとめ

Excelの並び替えが正しく動かない原因と対処法を解説しました。

原因 対処法
セルの結合 結合を解除してからソート
空白行・空白列の混在 空白行を削除するか範囲を手動選択
数値が文字列として入力されている VALUE関数または区切り位置で数値変換
先頭または末尾にスペース TRIM関数でスペースを除去
数値と文字列の混在 データ型を統一する
フィルターで行が非表示 フィルターを解除してからソート
日付が文字列になっている DATEVALUE関数または区切り位置で日付変換
日本語が五十音順にならない PHONETIC関数でふりがな列を作成してソート

最もよく遭遇するのは「数値が文字列になっている」「空白行が混在している」「日本語のふりがな情報がない」という3つです。まずこの3点を確認してみてください。

複数の条件でソートしたい場合は「並び替えダイアログ」のレベル追加機能を使い、独自の順番が必要なときはユーザー設定リストが便利です。この記事の対処法を試してもうまくいかない場合は、ソートしたい範囲をあらためて確認し、セルの書式設定から形式を見直してみましょう。

Check Also

【2026年最新版】ExcelのPower Pivotが使えない・有効にできない原因と対処法

Excelで大量のデータを分析 …