京都市内の高等学校で、ネットトラブルから守るための話をして来ました。
実はこの高校は33年前に卒業した母校で、今日は約30年ぶりに校門をくぐりました。
しかし、入ってビックリです。
当時でもかなり老朽化していて、すでにいつ潰れてもおかしくない状態だった、プレハブの学友会ボックス(生徒会ボックス)や学食などの建物がまだ現役で使われていました。
校舎も耐震補強されているものの当時のままで、今日は唯一建て替えられていた体育館で講演させた頂きました。
最初に応接室で、校長先生が私の卒業アルバムを持ってこられ、懐かしいやら恥ずかしいやら複雑な気持ちでした。
でも、講演の方は、余談で、その卒業アルバムの事を話したり、当時を偲ぶ話をしたりして自然体で話せて楽しかったです。
Excel(エクセル)には数値を並び替える「ソート」と言う機能があります。
先日受講生の方から、「このソート機能を使ってデータを番号順に並び替えようとしたところ、うまく出来なかった。」と問合せがありました。
![](https://stat100.ameba.jp/blog/ucs/img/char/char2/175.gif)
まずは、この「ソート」の方法についておさらいをしましょう。
並び替えにしたい数値のセルを選択します。
「ホーム」タブをクリックします。
「編集」グループの「並び替えとフィルター」をクリックします。
「昇順」をクリックします。
「並び替えの前に」のダイヤログボックが表示されます。
「番号」に関連したデーターも同時に並び変える必要があるので、「選択範囲を拡張する」を選択します。
「並び替え」ボタンをクリックします。
データが並び替わります。
しかし、本来なら「1,2、3・・・・・7」と小さい順に並ぶはずですが、「2,4,7,1.3.5,6」の順に並んでしまう。
実は、この問題は非常に奥が深く、簡単に説明する事は難しいのです。
それで、今日は少し説明が長くなりますがお許し下さい。
では何故この様な現象が起こったかです。
それは、データ型にあります。
Excel(エクセル)もデーターベースの一種なので、たえずデータ型を意識しておく必要があります。
Excel(エクセル)の場合のデーター型とは「セルの書式設定」です。
今回のケースでは、一見数字に見えるデータの型に、「数値」と「文字列」が混在していた事が原因です。
今回は、「2,4,7」が数値型で、「1,3,5,6」が文字列でした。
「並び替え」をした場合は、Excel(エクセル)には「文字列よりも数値を先に並べる」というルールがあります。
それで、「文字列扱いの数値」と「通常の数値」が混在していると、文字列扱いの数値だけが後ろに並べられてしまう事になり、この様になったと言う訳です。
しかし、ここで、Excel(エクセル)をご存じの方は「数値」はセル内で「右揃え」、文字は「左揃え」になるのでは?疑問に思われるかも知れません。
一部のExcel(エクセル)テキストにもそう書いてある物があり、そう習われた方も多いのでは?と思います。
これは、決して間違いではなく正しいのですが、今回はセル内の「中央揃え」の機能が使われていたために区別が付かなかったのです。
しかし、このいわゆる「数値文字列」を判断する方法はあります。
この「数値文字列」のセルの左上には緑色の三角が付いています。
このセルをクリックすると
の様なアイコンが表れます。
この右側の「▼」をクリックします。
「数値が文字列として保存されています」となっています。
なので、この様な事を避けるためには、「001」の様に数字を「0」から始めたいなどの場合を除いて、文字列扱いにする必要のない数値は、通常の「数値」にしておく事です。
また、話がもっと複雑になるので、説明は後日にしますが、いったん文字列として入力された数値は、後から「表示形式」を「数値」に変更しても、データ形式自体を修正できないという仕様になっていて、これも別のところで影響する事があります。
ああ、話が長くなりましたが、この「文字列扱いの数値」と「通常の数値」が混在した状態でも番号順に並び変える方法が実はありますので、ご紹介します。
方法
「ホーム」タブをクリックします。
「編集」グループの「並び替えとフィルター」をクリックします。
「ユーザー設定の並び替え」をクリックします。
「並び替えの前に」のダイヤログボックが表示されます。
「番号」に関連したデーターも同時に並び変える必要があるので、「選択範囲を拡張する」を選択します。
「並び替え」ボタンをクリックします。
「並び替え」のダイヤログボックが表示されます。
「先頭行のデータを見出しとして使用する」にチェックを入れます。
「OK」ボタンをクリックします。
「並び替えの前に」のダイヤログボックが表示されます。
「数値に見えるものはすべて数値として並び替えを行う」を選択します。 ←ココがポイント
「OK」ボタンをクリックします。
これで「文字列扱いの数値」と「通常の数値」が混在した状態でも数字の順番に並び替わりました。
(分かり易くするために中央揃えは解除しています。)
お疲れ様でした。
皆様にお願いです。
このブログのネタを募集いたしております。
パソコン操作に関するご質問をお受けし可能な限りこの場でご紹介させて頂きたいと思います。ご協力の程よろしくお願いいたします。