並び替えについて

並べ替えとは、数値あるいは文字列(英字の場合 ABC順、仮名はあいうえお順、漢字は原則として読みの順)のデータを昇順(小から大に)あるいは降順(大から小)に整列させる操作のことです。コンピューターの用語ではソート(sort)と呼ばれています。

並べ替えの方法

1970年代末ごろから出現したマイコン(パソコンの先輩格)を使ってソートの速さを競うコンテストがありました。当時のコンピューターでは CPU の動作は数メガHz、メモリーはせいぜい数十キロバイト程度という制限の中で、データ量、使用メモリー量が加味され速度が競われます。

新しく購入したトランプは多くの場合、♠(スペード) の Ace から King までの順で、続いて(ハート)、♣(クラブ)、(ダイヤ)、Joker の順番になっているようです。強さの順では♠ > > > ♣ が一般的だそうです。

ばらばらになったカードを手にして購入時の順に並べ替えをすることを考えてみます。手で持ったままのカードを順番に参照して、逐次入れ替えをすれば達成できますが相当時間がかかります。

テーブル上に取り敢えずマークごとに整理する方法も考えられますがテーブルの空間(使用メモリーに相当)が必要になります。

トランプではなくランダムに数値が記されたカードを使って並べ替えをする時にはさらに工夫が要ります。最大値(Max)、最小値(Min)などが分かっていないためテーブル上にどのように配置するかが問題になります。ここでは sort のアルゴリズムを考えるのが目的ではありませんが、マイコンのコンテストでは様々な創意工夫を凝らした方法が披露されていて基本的には今日の方法とは大きな違いはなかったように思います。

Excel の並べ替え方法

Excel の並べ替えの操作については 「 等間隔毎の行挿入 」 あるいは 「 等間隔毎の行削除 」 を参照してください。アルゴリズムは分かりませんが、(元に戻す)が使えるので最低でもそのためのメモリーは必要で、「 等間隔毎の行挿入 」 で触れた通り同順位である場合、元々上位にあったデータが下位になることがないので、いく種かの方法は除外されます。最近のコンピューターの処理性能、広いメモリー空間があるものの、その速さには感心させられます。

RANK 関数に見られるように、視覚的には並べ替えを実施しないで当該データの数値が何位になるかが即座に表示されます。

図1.

また、文字列のデータの場合ドロップダウンリストで扱ったように、図1.右の b8 セルでマウス右クリックして 『 ドロップダウンリストから選択(K) 』 を指定するとリストが表示されます。この時、ここの例題のようにアルファベット文字のデータでは大文字小文字の区別をしないので全てが表示されませんが、数千行におよぶデータでも瞬時に昇順に並べ替えて表示されるので驚きです。

Word の並べ替え方法

Excel程の多彩なことは出来ませんが Word でも並べ替えのメニューが用意されています。Word の表の場合は表中にカーソルを置いて、Word2003 では 「 罫線 」→ 「 並べ替え(S) 」、Word2007 では 「 ホーム 」タブあるいは 「 表レイアウト 」 タブの 「 並べ替え 」でキーとなる列を指定します。いずれもアイコンはで示されます。

段落でも並べ替えが可能です。この場合でもを使います。規定値では 段落冒頭文字の 「 JIS コード 」 を対象にして昇順で並べ替えられます。「 JIS コード 」 は 「 数値 」、「 五十音順 」 などに変更できます。注意したいのは並べ替えをする範囲を予め指定しておかないと表部分も含めて文書全体が置換されてしまうことです。誤って置換された場合は慌てないで(元に戻す)で元に戻ります。

このサイトで扱った項目