Excelで並べ替えをするときは、通常、表全体を並べ替えることが多いですが、シートの一部や表の一部だけを選択して、並べ替えをすることもできます。
例えば、表の上または下に合計や平均などの集計行がある場合、集計行を除いて並べ替えをすることができます。範囲選択をした部分だけ並べ替えができるということは、範囲選択をしなかった部分は並べ替えの影響を受けないので大変便利です(参考:【Excel】並べ替えの昇順と降順、優先順位、グループ化、一部分だけの並べ替え)。
しかし、この機能は、あくまで実験的または個人的に使うべきであって、正式な表で使うべきではありません。特に、複数人で共有したり会社で作ったりするExcelファイルの場合、特殊な並べ替えを前提とする表を作るのは自己満足であり迷惑です。
そこで、今回は、誰が見ても分かるように「並べ替えやすい表」を作ることの重要性について解説します。
- 並べ替えの昇順と降順、優先順位、グループ化、一部分だけの並べ替え
- 並べ替える方法より、並べ替えやすい表の作り方を覚えるべきである
- 区切り位置指定ウィザードを使った並べ替えと応用事例のまとめ
- 本格的に学ぶフラグの立て方入門(関数は使いません)
- 1行または複数行おきに挿入、削除するには並べ替えをする
- 比較演算でグループとしてのフラグを立てて並べ替えをする
目次
問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。
- 1.並べ替えやすい表とは何か
- 2.並べ替えをする前に並び順を保存する
- 3.計算で優先順位の数値を作る
- 4.並べ替えが面倒な事例
- 5.順序をコード番号で表すこと
- 6.補足説明:ユーザー設定リストについて
- 7.動画版はこちら(無料)
1.並べ替えやすい表とは何か
(1)行が独立していること(復習)
並べ替えをするということは、行の順番が入れ替わるということです。ということは、表を作るときに「行の順番が入れ替わってもかまわない表」を作るべきです。各行が完全に独立し、他の行に依存してはいけません。セルの結合は問題外です(参考:Excel「セルの結合」正しい使い方と誤った使い方の違いを理解せよ!)。
これはレコードの独立ともいい、すでに別の記事で説明していますので、詳しくはこちらの記事をご覧ください。
(2)優先順位を数値にすること
Excelはデータを機械的に処理するため、原則として、人間が作った序列を理解することはできません。例えば、社長>部長>課長、本社>支店>出張所の順序は当たり前だ!!と思うかもしれませんが、国語辞典はこの順序ではありません。順序や序列というのは人間の思い込みであり、必ずしもその順序が正しいとは限らないのです。
さらに、埼玉>栃木>茨城、氷川きよし>友人>旦那などは好みの問題ですから、人によって優先順位が異なります。
これはExcelに限った話でなく、データベース全般の話ですが、表を作るときに「優先順位が分かる表」を作らなければなりません。具体的には、並べ替えをしたい順番を「数値」で表します。
2.並べ替えをする前に並び順を保存する
問題
次のリストについて氏名の50音順で並べ替えようとしている。並べ替えをする前に行う作業は何か、述べなさい。
解説
並べ替えをすると、元の状態が何だったのかわからなくなることがあります。並べ替えをするときには、元の状態に簡単に戻せるかを確認します。
適当な列に連番を打てば、並び順を保存することができます。
並べ替えをする前に、列を挿入し、連番を打っておきます。
氏名の50音順で並べ替えます。氏名の昇順です。
そして、連番の昇順で並べ替えると元の順番に簡単に戻すことができます。
3.計算で優先順位の数値を作る
問題
次のリストについて登録年月日順に並べる方法をできるだけ多く考えなさい。
解説
年月日で並べ替えるときに、年と月と日が別の列に入力されているときは、年を最優先にして、「レベルの追加」をすることによって、月と日も昇順にします。
これで完成です。
別解
計算式「10000*年+100*月+日」によって、別の列に年月日を8桁の数にすることができます。
別の列に計算式を入れて、年月日を8桁にします。
昇順にすれば完成です。
このように大分類・中分類・小分類の階層を万の位や百の位などの桁で表した数値のことを「桁別コード」といいますが、優先順位を定義するときにも使います。
4.並べ替えが面倒な事例
問題
次のリストについて成績が S・A・B・C・D・E・F の順になるように並べる方法をできるだけ多く考えなさい 。ただし、同じ評価の場合は氏名の50音順にしなさい。
解説
最優先として成績の昇順にします。次に優先されるキーとして氏名の50音順になります。
並べ替えます。
最後にSの部分だけ切り取って移動します。
これで完成です。
別解
まず、成績の降順で並べ替えます。このとき、次に優先されるキーとして、氏名の昇順にしておきます。
降順なので、Sが先頭になります。また、Sのなかで氏名が50音順になっています。これで、Sの部分については完成です。
Sの部分を除いて、範囲選択します。
先頭行はデータの見出しではありません(参考:【Excel】並べ替えの昇順と降順、優先順位、グループ化、一部分だけの並べ替え)。
F列の評価の昇順です。B列の氏名の昇順はそのままです。
これで完成です。成績はSの次に、Aからアルファベット順になっています。同じ順位であれば、氏名の順になっています。
5.順序をコード番号で表すこと
問題
次のリストについて、学長、教授、准教授、講師、実験講師の順にしなさい。ただし、同じ場合は氏名の50音順にしなさい。
解説
前述のようにExcelが日本語の順番を判定することはできません。肩書や階級のような上下関係を使って並べ替えることはできません。また、部長補佐や取締役本部長付などイレギュラーなものに対応することもできません。
このように、リストを作るときに、種類やグループを表すデータで、決まった順番で並べ替えることが多い場合には、あらかじめコード番号を付けて管理したほうが良いです。この番号のことをIDまたはCDということがあります。
※ちなみに、都道府県は北から順に番号が決まっています(JIS日本工業規格)。原則として01~47の都道府県番号を使用するべきですが、必ずしもこの順番に従わなければならないというわけではありません。
いったん資格で並べ替えます。これは、グループ化をするだけなので、昇順でも降順でも構いません。
順番を決めて、コード番号を入力します(※本当は関数を使ったほうがよいです)。学長、教授、准教授、講師、実験講師の順です。
この番号に従って、もう一度並べ替えをします。コード番号(資格ID)の昇順です。これが同じ順位の時は、氏名の昇順にします。
これで正しい上下関係になります。
このコード番号は今後並べ替えをするときに便利なので残しておきますが、不要な場合は非表示にしておきます。
6.補足説明:ユーザー設定リストについて
順番を保存する方法として「ユーザー設定リスト」があります(設定方法の説明は省略)。これが便利な機能であることは言うまでもありません。
しかし、マイクロソフト公式をはじめ多くのサイトで「ユーザー設定リストで並べ替えをしたら便利だよ~」などととんでもない説明をしています。安易にこのような説明を信じてはいけません。
Excelのユーザー設定リストは、作成したExcelファイルではなく、個々のパソコンに保存されるものです。他のパソコンにはその順序が保存されていないので並べ替えをすることができません。ユーザー設定リストを設定した本人は思い通りに並べ替えができて大満足だと思いますが、そんな自己満足なExcelファイルを配布したら他の人が大迷惑なのです。
前述のように、順番を定義するときは「番号」を使うべきです。さらに、コード番号を付した別の表を作り(マスタという)、他の人が見ても、明らかに優先順位が分かるように作表しなければなりません。ユーザー設定リストを使う前提で表を作るのは、Excelの使い方というよりデータベースの考え方として間違いです。
解説は以上です。
7.動画版はこちら(無料)
この記事は、わえなび実力養成講座「ファンダメンタルExcel」Program 7-9 のYoutube動画を書き起こして、加筆修正したものです。
- 並べ替えの昇順と降順、優先順位、グループ化、一部分だけの並べ替え
- 並べ替える方法より、並べ替えやすい表の作り方を覚えるべきである
- 区切り位置指定ウィザードを使った並べ替えと応用事例のまとめ
- 本格的に学ぶフラグの立て方入門(関数は使いません)
- 1行または複数行おきに挿入、削除するには並べ替えをする
- 比較演算でグループとしてのフラグを立てて並べ替えをする