データを扱う時のいろいろな操作:Excel2010

■ Excel豆知識120




データを扱う時の便利な機能を便利に使うためには、データがあらかじめリスト形式になってい
ることが必要なのは、今までと変わりません。
 120-1 並べ替え
下図の表でいろいろな並べ替えをやってみたいと思います。

でも、その前に。もし、この表が「席順」など、表の上では規則性は見えない何かの順に並んでいるとして、これを例えば生年月日順に並べ替えたとすると、「元に戻す」操作が出来るうちは戻せますが、一旦上書きなどしてしまうと最初の状態に戻すことは出来なくなります。なので、もし、最初の状態に戻すこともある場合には、下図のように、番号などの列を追加して元の状態に戻せる準備をしてから作業を始めるほうがいいと思います。



<並べ替えボタンを使って並べ替えをする>
並べ替えの基準にする列のひとつのセルを選択します。ここでは「生年月日」順に並べ替えをしようと思いますから、F列のセルを選択しています。その状態で「データ」タブ-「並べ替え」の「昇順」のボタンをクリックすると、

下図のように生年月日の早い順に並びます。「昇順」とは値の小さいものから大きいものへという並べ方です。当然ですが、他の列のデータも一緒に並べ変わります。Excelがこの表を「リスト」として認識しているために、「番号」から「ポイント」までを1行1レコードと扱っているわけです。

「並べ替え」の「降順」ボタンをクリックすると、

生年月日の新しい順に並びます。「降順」とは値の大きいものから小さいものへという並べ方です。(生年月日のシリアル値は1日1ずつ増えますから、新しい日付のほうが大きいということです。)

こんどは「フリガナ」の列のセルを選択して、「昇順」ボタンをクリックします。すると、下図のようにアイウエオ順に並びます。


<「並べ替え」のダイアログボックスを使って並べ替えをする>
並べ替えボタンによる並べ替えは、ひとつの列を基準にする並べ替えの場合に用います。こんどは「並べ替え」のダイアログボックスを使う並べ替えです。この方法では複数の基準で並べ替えをすることが出来ます。「所属」の順に並べて、その中で「ポイント」の多い順に並べてみようと思います。表中のセルをひとつ選択し、「データ」タブ-「並べ替え」ボタンをクリック。

「並べ替え」のダイアログボックスが出ると同時に、データがリスト形式になっているので並べ替え対象範囲が自動的に選択されます。また、先頭行がデータの見出しであることがはっきりしているので、「先頭行をデータの見出しとして使用する」のチェックが初めから入っています。「最優先されるキー」に「番号」が入った状態で表示されましたが、これは今は不要なので、

選択して「レベルの削除」をクリックします。

「レベルの追加」をクリックし、「最優先されるキー」で「所属」を選択、「順序」は「昇順」のままで、また「レベルの追加」をクリックし、「次に優先されるキー」で「ポイント」を選択、「順序」を「降順」にして「OK」。

これで「所属」の順に並び、その中で「ポイント」の多い順に並びました。このようにして、一度に複数の基準で並び替えをすることが出来ます。Excel2003までは1回に3つの基準までしか設定できませんでしたが、2007からはそれ以上でも大丈夫になりました。


<並べ替えをする時の注意点>
リストの作り方がきちんとしていれば問題はないのですが、例えば下図のように表のF列が全部空白のような場合、Excelは表全体をリストとは認識しません。この状態で生年月日の列のセルを選択して、「昇順で並べ替え」ボタンをクリックするとG列とH列だけが並び変わることになってしまいます。

このように「番号」から「所属」までのレコードと「生年月日」から「ポイント」までのレコードが別の行になってしまいます。知らないうちにこのような状態になったりすると大変ですので、注意が必要です。

これはF列に項目名もデータもないために、Excelが繋がったリスト範囲と認識している範囲がF列の左右で別れてしまっているからです。確認するには、生年月日のセルを一つ選択した状態で、「Ctrlキー」を押しながらテンキーの「*」を押すと、下図のようにつながった範囲が選択されます。

氏名のセルなどを一つ選択した状態で、「Ctrlキー」を押しながらテンキーの「*」を押すと、下図のように「リスト」の注意事項に「表のぐるっと一回りは空白セルにします」というのがありますが、F列が空白のためにこのような状態になってしまうわけです。

全フィールド名(列見出し)のところに何かが入っていれば全体をリストと認識されます。この状態なら、「生年月日」の列のセルを選択して、「Ctrlキー」を押しながらテンキーの「*」を押すと

番号からポイントまでの表全体が繋がったリスト範囲として認識されます。こうしてしまえば、生年月日のセルを選択して「昇順」ボタンをクリックしても

このようにちゃんと表全体のレコードが並び変わります。


<範囲を選択して並べ替える>
もしF列が全部空白でも、表全体を範囲選択して並べ替えをする場合は、ひとつのレコードがばらばらになったりせずにちゃんと並べ替えをすることが出来ます。まず、「昇順」「降順」のボタンを使う場合です。下図のように表全体を選択した時、アクティブセルは左上隅のB2セルにあります。「生年月日」のセルをアクティブセルにするために、Enterキーを押すと右に移動する設定になっている場合は、この状態でEnterキーを5回押します。又は、この状態でTABキーを5回押します。

すると、下図のようにG2セルにアクティブセルが移動しますので、この状態で「昇順」ボタンをクリックします。

これで行がばらばらになることなく並べ替えが出来ました。

次は並べ替えのダイアログボックスを利用する場合です。表全体を範囲選択し、「データ」-「並べ替え」として並べ替えのダイアログボックスを出す。先頭行の項目に空白があるために、「先頭行をデータの見出しとして使用する」のチェックがはずれた状態で「最優先されるキー」の▼をクリックすると列番号を選択するようになっています。このまま列番号を選択して並べ替えをすると、2行目の項目行も一緒に並べ変ってしまいます。なので、「先頭行をデータの見出しとして使用する」にチェックを入れます。

すると「最優先されるキー」で項目を選択できるようになりますので、「生年月日」を選択して、「OK」とします。

これで行がばらばらになることなく並べ替えが出来ました。また、データの先頭にスペースが入っていると思うように並べ替えが出来なかったりしますので、先頭にスペースが欲しい場合は「セルの書式設定」でスペースがあるように見せる、という方法にしたほうがいいと思います。

今回はこれでおしまいです。
ページTOPへ