
今回の記事では
Excelで数字を並べ替えているのにちゃんと並べ変わらない事があって困った
どうして数字なのにちゃんと並べ変わらないの?
並べ替えをスムースにするためのコツがあるなら知っておきたい
ルールが分かっていれば並び替えのトラブルに合わなくなるの?
こういった疑問に答えます
✔数字の並べ替えトラブルの解決方法のテーマ
①数字をきちんと並べ替えるには数字と文字列の違いを知っておくことが重要です
②並べ替えのトラブルを避けるために表の作り方のルールを知っていれば問題解決
この記事を書いているのはOfficeを約20年間活用しながら
ITを活用したエステの経営マネジメントしている私の経験を基に
「数字の並べ替えトラブルの解決方法のテーマ」に関して実体験に基づいて解説しています
今回の内容を一緒にやりたい場合は▼のファイルをダウンロードして下さい
目次を使って読みたい項目へ
数字をきちんと並べ替えるには数字と文字列の違いを知っておくことが重要です
Excelで数字を並べ替えた時にきちんと並べ変わらないのは、数字と文字列について把握出来ていないことが原因です
なぜなら、Excelでは文字列と数字は別のものとして扱われるからです
それでは、Excelで数字を上手く並べ替えられない原因と対処法について具体的に解説していきます

こんな感じの表があったとします
この表の番号を「降順」で並べ替えてみましょう

番号の列がある「A1」のセルをクリックした状態で「データ」タブの「並べ替えとフィルター」グループにある「降順」ボタンをクリック

並べ替えは出来ましたが、なんだか一部おかしなところがあります
「10」をよく見ると何故か「1の上」にありますよね
この理由はExcelが「1と0」の文字列だと判断して並べ替えた結果「1」の1つ上に「10」を持ってきてしまうからです
本来なら「10」は一番上に表示されないとおかしいですよね
この文字列になってしまう原因の解説を始める前にもう1つのパターンを見てみましょう

次のケースはこんな感じです
数字の位置がバラバラ以外は特に問題無く見えますね

同じ様に番号を「降順」で並べ替えてみましょう

結果はこんな風にバラバラな並び方になってしまいます
これが、数字を並べ替えようとしても上手くいかない理由です
では、どうしてちゃんと並べ替えが出来ないのか見ていきましょう
数字ではなく文字列だと並べ替えは上手く出来ない
今例にあげた2通りの間違ったパターンに共通していることは「数字を文字列にしていること」です
Excelでは、数字と文字列(文字や数字などの組合せ)は扱い方が全く違います
数字であれば問題無く「昇順・降順で並べ替える」ことは出来ても文字列の場合は上手くいかないという点を覚えておきましょう

「数字と文字列の見分け方」の1つがセルに表示される「緑の三角形」です
これは、「セルの内容に問題がある可能性がありますよ」と知らせていくれているマークです

このマークのセルをクリックすると「右側に黄色いビックリマーク」が表示されます

「ビックリマーク」をクリックしてみましょう

表示される内容に「数値が文字列として保存されています」と表示されています
これは、文字通り「数値」ではなく「文字列」として「数字」が入力されているという意味です
最初に言ったようにExcelでは、「文字列」と数字は全く別物なのでこの表示が出てきます

もし、数値として入力している場合は「数値に変換」をクリック

その結果、文字列は数字に変換されるので「1」はセルの右側に表示されます
コレ以降は数字として判断されるので並べ替えでおかしくなることはありません
ここでポイントになるのが「文字列はセルの左詰め」で「数字はセルの右詰め」で表示されることです。
見た目で判断したい時は、まずここをチェックしましょう

この例は数字と文字列が一緒に入力されているので並べ替えが上手くいかないパターンです
数字の配置ではない左づめの数字は「文字列」なので並べ替えると文字と数字に分かれてしまいます

その結果こんな風に文字列の並べ替えのあとに数字の並べ替えになってしまったのがこの結果です
修正方法は1つ目のパターンと同じです
ただ、計算結果にこの数字は含めたくない等の特殊なケースでは、数字を文字列にしておくということも有りです
ちなみに

こんな風に「文字列と数字が入り混じった状態で左寄せ」設定をされていると数字なのか文字列なのか分かりにくくなってしまいます
そんな時も落ち着いてエラー表示されているセルが無いか探して対処しましょう
数字を文字列として扱う方法色々
では最後に数字を文字列として扱う方法をいくつか紹介します
数字と文字列の扱い方を知っていれば、数字の並べ替え問題の解決方法にもなるので覚えておきましょう

例えば、こんな風に数字を文字列として扱う方法は結構あります

まずは、「表示形式を文字列として設定」した状態で全角の数字と半角の数字を入力する方法を見てみましょう
どちらも文字列として並べ替えているので並びが変ですね

まずは、表示形式の中から「文字列」を選びましょう

「全角の状態」で数字を入力します
作業はコレだけです

同じ様に半角で数字を入力しても結果は同じです
セルがエラー注意を表示しているので半角でも文字として扱っています
基本的にExcelは全角の数字は自動で半角の数字に変換してくれるので、全角数字が文字列として入力されることはこういった方法でないと入力出来ません
ただ、今回のように半角の数字でも文字列として設定するとエラー警告の表示も消えてしまうので、そんな時は表示形式を必ず確認するようにしましょう
このパターンが一番厄介なので要注意です
最後に残り2つの方法を解説します

1つ目が一番簡単な「'(アポストロフィー)」記号を使った方法と「テキスト関数」で文字列に変更する方法です

アポストロフィーを使った方法は「’1」と入力して「コレは数字じゃなくて文字列として扱ってね」という意味になります
すごく簡単ですね
次はTEXT関数を使った方法です

TEXT関数は「=TEXT(対象の文字列,”表示したい形式”)」と設定します
つまり、「1」という数字を「@(文字列)」として表示してね
という意味になります
要はセルで「文字列」を指定した事を関数を使ってやっているだけです
こんな風に設定方法は色々ありますが、とにかくエラー表示や表示形式をよく見るようにしましょう
また、表示形式を数字に変更するなどの対策をしても
上手くいかない場合は、一度セルをクリアするとリセットされるので試してみましょう
繰り返しになりますが、Excelで数字を並べ替えた時にきちんと並べ変わらないのは、数字と文字列について把握出来ていないことが原因です
並べ替えのトラブルを避けるために表の作り方のルールを知っていれば問題解決
表の作り方が並べ替えのルールに従った方法であれば、並べ替えの初歩的な問題は避けることが出来ます
なぜなら、並べ替えがスムースにできる表には作り方のルールがあるからです
今回解説する方法は、初歩的な対策になってくるので是非覚えておきましょう
ただし、ルール自体はすごく簡単なので心配しないで大丈夫です
セルの結合は禁止
よくある表の代表としてこんな風に作った表があります

こういった自由なレイアウトで作っている表には注意が必要です

その注意点とは、合計行がセルの結合をしていることです
これだと並べ替えが上手くいきません
試しに並べ替えをしてみましょう

結果は、こんな風にセルの結合が含まれていると並べ替えられないという注意表示がされるので、並べ替えをしたい表は表の結合を使わないのがルールです
もし、データ分析をしたいならピボットテーブルが向いています
ピボットテーブルの使い方は「ピボットテーブルは情報分析に特化した表」という記事で解決しているので参考にして下さい

または、こんな風に「テーブルとして書式設定」で作ることで、ピボットテーブル無しで集計できるのでコチラもオススメです
詳しくは「Excelの印刷範囲の自動化ならテーブルとして書式設定」という記事で解説しているので参考にして下さい
こんな風に並べ替えに向かない表もあるので、どうしても並べ替えにちゃんと対応させたいという場合は、問題がある部分を修正してみて下さい
繰り返しになりますが、表の作り方が並べ替えのルールに従った方法であれば、並べ替えの初歩的な問題は避けることが出来ます
コメントを残す