Excelでユーザー設定リストによる並べ替えを行うTech TIPS

Excelでは、標準でごく一般的な文字列や数値などの並べ替えを行うことができる。しかし、標準的な並べ替え規則ではカバーできない特殊な序列でリストをソートしたいというケースもある。そのような場合には、ユーザー設定リストを定義することで、独自の並び順を設定することができる。

» 2004年06月19日 05時00分 公開
[山田祥寛]
「Tech TIPS」のインデックス

連載目次

対象ソフトウェア:Excel 2000/Excel 2002/Excel 2003



解説

 Excelを利用している方ならば、誰もがよくご存じであるように、Excelは標準でごく一般的な文字列・数値などの並べ替えを行うことができる。以下には、標準的な並べ替えで用いられるソート規則をまとめておくことにしよう。

データの種類 並べ替え順序
数値 負数の最小値から正数の最大値へ
文字列 辞書的な並べ替え(「あいう」「あう」「あ」であれば、「あ」「あいう」「あう」の順でソート)。文字的には、以下の順序で並べ替えが行われる:
0〜9 スペース ! " # $ % & ( ) * , . / : ; ? @ [ \ ] ^ _ ` { | } ~ + < = > A〜Z あ〜ん(「'」「-」は無視)
論理値 False、Trueの順
空白セル 常に最後尾
Excelにおける標準的なソート規則(昇順の場合)

 恐らく一般的な表計算の処理を行う限りでは、標準的なソート機能で十分に用が足りるはずだ。しかし、さまざまなワークシートを扱う中では、当然のことながら、なかなか標準のソート規則だけでは十分にカバーできない局面も出てくるだろう。例えば、次のようなワークシートがあったとする。

サンプルのワークシート サンプルのワークシート
サンプルとして使用するワークシートの例。名前順やメール・アドレス順ではなく、通常は職位順にソートすることが多いだろう。

  • サンプル・ファイルのダウンロード
    注:今回のサンプル・ファイルmember.xlsをダウンロードするには、上のリンクを右クリックして、member.xlsというファイル名で保存すること)

 このようなリストで、もしも職位順(代表取締役→取締役→部長→課長→主任→担当)にリストをソートしたいと思った場合には、どのようにしたらよいだろう。本TIPSでは、このような標準外の並び順を定義したい場合に利用できる機能として「ユーザー設定リスト」を紹介する。ユーザー設定リストを利用することで、標準のソート順とは別に独自のソート順を追加することができる。

操作方法

●手順1―ユーザー設定リストを定義する

 メニューから[ツール]−[オプション]を選択すると、[オプション]ダイアログが表示される。いくつか設定タブが並んでいるが、この中から[ユーザー設定リスト]を選択する。

 リスト項目は右の[リストの項目]ボックスで追加することができる。改行区切りで以下の画面のようにリストを追加してみよう。入力後、[追加]ボタンをクリックすると、左の[ユーザー設定リスト]の末尾に新たなリストが追加されるはずだ。もしもリストの内容を変更したい場合には、左のボックスから該当のリストを選択したうえで、右のボックスからその内容を編集すればよい。削除する場合は、左のボックスから該当のリストを選択し、[削除]ボタンをクリックする。

ユーザー設定の順番を新しく定義するための[オプション]ダイアログ ユーザー設定の順番を新しく定義するための[オプション]ダイアログ
ユーザー独自のソート順のリストを設定するには、「ユーザー設定リスト」機能を利用する。
  (1)[ユーザー設定リスト]タブを選択する。
  (2)追加したいリストを改行区切りで入力する。ここで指定した順にデータがソートされることになる。
  (3)これをクリックすると、[リストの項目]に入力した内容が新しいソート順として、[ユーザー設定リスト]に追加される。

 ここでは、ダイアログから直接にリストを入力したが、あらかじめワークシート上にリストを用意しておけば、[リストの取り込み元範囲]からセル範囲を設定し、[インポート]することも可能だ。

ユーザー設定リストのインポート ユーザー設定リストのインポート
  (1)[リストの取り込み元範囲]にセル範囲を指定する。これらのセルには、あらかじめ「代表取締役」「取締役」「部長」「課長」「主任」「担当」という職位を記入しておく。サンプルのmember.xlsファイルでは、2枚目のシート上に用意してあるので、ここではその範囲を指定している。
  (2)これをクリックすると、指定された範囲にあるデータが新しいユーザー定義リストのキーとして取り込まれる。

●手順2―ユーザー設定リストを利用して、並べ替えを行う

 手順1で設定したユーザー設定リストを利用して、冒頭のリストを職位の昇順に並べ替えてみよう。ソート処理を行う手順は、標準的な並べ替えのそれと同様だ。

 並べ替えたいセル全体を選択状態にしてから、メニューの[データ]−[並べ替え]を実行する。[並べ替え]ダイアログが表示されるので、[最優先されるキー]として[職位]と[昇順]を、[範囲の先頭行]を[タイトル行]とする。

[並べ替え]ダイアログ [並べ替え]ダイアログ
まずメインとなるソートのキーを指定し、さらにユーザー定義のソート・キーも指定する。
  (1)メインとなるキーとして、[昇順]の[職位]を指定する。
  (2)これをクリックして、さらにユーザー定義のソート用リストを指定する。

 ここまでであれば、通常のソート処理と何ら変わるところはないが、ユーザー設定リストを適用したい場合には、ここでさらに[オプション]ボタンをクリックする。[並べ替えオプション]ダイアログが表示されるので、[並べ替え順序の指定]ボックスで先ほど設定したユーザー設定リストを選択する。

[並べ替えオプション]ダイアログ [並べ替えオプション]ダイアログ
ユーザー設定のソート用リストを指定する。
  (1)先ほど定義した[代表取締役,取締役,部長,課長,主任,担当]を選択する。

 ソート処理を実行し、以下のようにリストが並び替われば成功だ。

並べ替え後のリスト 並べ替え後のリスト
職位順にリストがソートされていることが確認できる。
  (1)ユーザー設定リストで定義した職位順にソートされている。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。