数値と文字の並べ替え


データの並べ替えは、それほど難しい機能ではありません。解説本や雑誌でも、どちらかというと「基本的な操作」として紹介されていたりします。しかし、実はすごく奥が深い機能なんです。ここでは、Excelの並べ替え機能のうち、ほとんど知られていないオプションをご紹介します。

まず上図のデータをご覧ください。このデータをA列「番号」をキーにして、昇順で並べ替えてみます。昇順で並べ替えるには、A列にアクティブセルを移動して、ツールバーの[昇順で並べ替え]ボタンをクリックします。

無事に並べ替えが実行されました。何も問題はありませんね。では、下図の場合はどうでしょう。

A列のデータは「1」「3」「5」が数値として入力されていて、「2」「4」は文字列で入力されています。文字列での入力は「'2」のように、先頭に「'」をつけています。B列には、わかりやすくするために、A列が何の形式で入力されているかどうかを記述しています。このデータを、さっきと同じように、A列「番号」をキーにして昇順で並べ替えてみます。操作方法も同じく、ツールバーの[昇順で並べ替え]ボタンのクリックです。

結果はご覧の通り。見た目が数値であっても、それが文字列として入力されたデータの場合は、純粋な数値とは区別されてしまうのです。今回は、文字列データとして「'2」のように「'」を使いましたが、セルの表示形式をあらかじめ"文字列"に設定してから入力しても同じように判断されます。

「なぁ~んだ、そんなこと知ってるよ」という人がいるかもしれません。安心してください。本題はこれからです。

先に書いたように、見た目が数値でも、それが文字列として入力されている場合は正しく(というか望むような)並べ替えが行われません。ところが、こうした数値と文字列が混在していても、正しく並べ替えられるケースもあるのです。下図は、まったく同じデータを並べ替えている様子です。本当は動画でお見せできればいいのですけど、アニメーションGIFでかんべんしてください。

これはいったい、どうしたことでしょう。実はExcelには、たとえ文字列して入力されているデータであっても、それが数値と認識できる場合には数値として並べ替えるというオプションがあるのです。お見せしましょう。データ範囲にアクティブセルを移動して[データ]-[並べ替え]をクリックします。実行すると[並べ替え]ダイアログボックスが表示されます。

純粋な数値と、文字列形式で入力した数値が混在しているA列「番号」を[最優先されるキー]に設定して、[OK]ボタンをクリックします。すると、次のようなダイアログボックスが開きます。

純粋な数値と、文字列形式で入力した数値をどのように並べ替えるかは、ここで設定します。標準では下の[数値とテキスト形式の数値を分けて並べ替えを行う]がオンになっています。アニメーションGIFでお見せした様子は、この設定で[数値に見えるものはすべて数値として並べ替えを行う]をオンにしたのです。

この[並べ替えの前に]ダイアログボックスは、純粋な数値と、文字列形式で入力した数値が混在しているデータでしか表示されません。そして、ここが最も重要なポイントですが、[並べ替えの前に]ダイアログボックスで設定した並べ替えのオプションは次回に引き継がれます。もちろんツールバーのボタンをクリックしたときにも有効です。

少しExcelに詳しい方なら、並べ替えで数値と文字列が区別されるのはご存じでしょう。しかし[並べ替えの前に]ダイアログボックスで、その方法を変更できるということは、かなりExcelに詳しい方でないと知らないと思います。並べ替えの結果がおかしいとき、すぐに「バグだ」と騒ぐようでは恥ずかしいので、しっかり覚えておいてくださいね。