Microsoft Excelでショートカットを使って並べ替える方法 - TechRepublic

Microsoft Excelでショートカットを使って並べ替える方法 - TechRepublic

画像: Aajan、Getty Images/iStockphoto

データの並べ替えは簡単で、Microsoft Excel ではキーボードショートカットなど、さまざまな方法で並べ替えを実行できます。多くの場合、単純な並べ替えは頻繁に実行されるため、特に意識する必要はありません。しかし、複数の列を並べ替えるとなると、並べ替えにはより多くのクリックと選択が必要になります。それでも簡単なのですが、作業が滞ってしまう可能性があり、ユーザーによってはそこまでの速度低下を好まない場合もあります。まず、1列の並べ替えに使用するキーボードショートカットを見つける方法を紹介します。次に、2列の並べ替えを実行するマクロを見ていきます。

参照:すべてのユーザーが習得すべきExcelのヒント60選

Windows 10 64ビット版でMicrosoft 365を使用していますが、以前のバージョンもご利用いただけます。ご自身のデータを使用することも、デモ用の.xlsmファイルと.basファイルをダウンロードすることもできます。この記事はブラウザ版には適していません。

Excelで単一列の並べ替えを行う方法

初心者でも、1つの列で簡単な昇順または降順の並べ替えを実行できます。並べ替えの基準とする列内の任意の場所をクリックし、「データ」タブの「並べ替えとフィルター」グループにある並べ替えオプションのいずれかをクリックします。「ホーム」タブでは、「編集」グループの「並べ替えとフィルター」をクリックできます。または、セルを右クリックし、「並べ替え」をクリックし、表示されるサブメニューから適切なオプションをクリックすることもできます。図Aは、Numフィールドの昇順の並べ替えを示しています。

図A

並べ替えのショートカットを使えば、キーボードから手を離さずに同じ操作を実行できます。並べ替えたい列(データセット内)の任意の場所にカーソルを置き、Alt + ASA キーを押すと昇順、Alt + ASD キーを押すと降順で並べ替えられます。ホームタブから並べ替える場合は、Alt + HSS キーと Alt + HSO キーを押します。(これらのショートカットは覚えるのが少し難しいです。)これで基本が理解できたので、次は複数列の並べ替えについて見ていきましょう。

参照: Excel を使用して Word 文書に動的な日付を簡単に追加する方法 (TechRepublic)

Excelで複数列の並べ替えを行う方法

複数の列で並べ替える場合は、グループ化を行います。例えば、デモシートをNumで並べ替え、次にPlaceで並べ替える場合、Numの値を並べ替え、次にNumグループ内のPlaceの値を並べ替えることになります。図Aを見ると、Placeフィールドの値が各グループ内で並べ替えられていないことがわかります。並べ替えられている場合も、それは偶然です。図Bは、Numフィールドの2番目のグループを示しています。Placeの値は3、1、3の順になっていますが、これは全く順序がありません。

図B

複数の列を並べ替える必要がある場合、「データ」タブの「並べ替えとフィルター」グループにある「並べ替え」オプションをクリックするか、「ホーム」タブの「編集」グループにある「並べ替えとフィルター」をクリックすると、「並べ替え」ダイアログが開きます。ショートカットキーは覚えやすいので、Alt + ASSとAlt + HDUです。どちらのキーでも、図Cに示すダイアログが開きます。

図C

このダイアログを使用すると、複数の列で並べ替えることができます。まず、「データにヘッダーを含める」オプションを確認してください。期待どおりの結果を得るには、このオプションを適切に設定する必要があります。このオプションを設定していない場合、データセットにヘッダーがあると、Excelはヘッダーテキストを値で並べ替えます。

参照: Excel でゼロを抑制する 3 つの方法(TechRepublic)

次に、このダイアログを使用して 2 列の並べ替えを実行してみましょう。

  1. 「データにヘッダーを含める」オプションオンになっています。(Excel はこの値を自動的に判別しようとしますが、場合によってはリセットが必要になることがあります。)
  2. 図Cに示すように、設定は既に正しく設定されています。これはExcelが前回の並べ替えを記憶しているためです。今回の場合は、Numフィールドの昇順並べ替えでした。必要に応じて、「並べ替えの基準」ドロップダウンから「Num」を選択してください。
  3. 場所フィールドを追加するには、[レベルの追加] をクリックします。
  4. 「次に基準」ドロップダウンから「場所」を選択します。Excelは他のオプションも適切に選択してくれるので、ここではそのままにしておきます(図D参照)。並べ替え順序を降順に変更できることに注目してください。「次に基準」という表現から、並べ替えにサブセット(グループ)を追加していることが明確に分かります。
  5. [OK]をクリックします。

図D

図Eに示すように、Num 値の 2 グループの右側にある Places の値は、1、3、3 と昇順になっています。このシンプルなデータセットでは、日付以外に並べ替える基準はあまりありませんが、3つの列で並べ替えるという方法があります。これらの列をどのように並べ替えに追加するかによって結果が決まります。各「Then By」レベルは、前の並べ替えまたはグループ化のサブセットであることに留意してください。

図E

元の並べ替えに場所列を追加する際に、キー操作を一切使っていないことにお気づきかもしれません。これは、キーボード操作ができないためです。私の知る限り、ショートカットでできることはここまでです。ただし、キーボードショートカットによる解決法については約束しましたが、そのためにはマクロが必要になります。

Excelでマクロを使って並べ替える方法

複数列の並べ替えを頻繁に行う場合は、マクロを作成し、キーボードショートカットを割り当てて実行したり、カスタムグループやクイックアクセスツールバー(QAT)に追加したりすることを検討してください。マクロの内容をご紹介しますので、実行方法を決めてください。

参照: Excel で「すべて検索」を使用して特定の一致する値を操作する方法(TechRepublic)

リスト A は、前のセクションで実行した単純な 2 列の並べ替えを自動化するマクロを示しています。これは動的ではなく、この単純な 1 つの並べ替えのみを実行します。ただし、ニーズに合わせて簡単に調整できます。VBA プロシージャを入力するには、Alt + F11 キーを押して Visual Basic Editor (VBE) ウィンドウを開きます。[挿入] メニューから [モジュール] を選択し、コードを入力します。この Web ページからコードをコピーして貼り付けないでください。動作しません。手動で入力するか、ダウンロード可能なデモ ファイルに含まれている .bas ファイルからコピーしてください。この Web ページからコピーする必要がある場合は、Word または別の Word エディターに貼り付け、そこから VBE に貼り付けます。これにより、表示されない Web 文字が削除されます。

リストA

サブSortMultipleColumns()

列 D と E を並べ替えます。Num (D) が主な並べ替え順で、Place (E) が最初のグループ化された並べ替え順です。

ActiveSheet.Sort を使用

.SortFields.Clear

.SortFields.Add Key:=Range(“D2”), Order:=xlAscending

.SortFields.Add Key:=Range(“E2”), Order:=xlAscending

.SetRange 範囲(“B2:E16”)

.Header = xlYes

。適用する

終わりに

終了サブ

Excelに戻ったら、ブックをマクロ有効ファイル(.xlsm)として保存します。古いメニューバージョン(.xls)を使用している場合は、この手順は不要です。

マクロ自体の説明はそれほど必要ありませんが、Addメソッドを使ってレベルを追加できます。また、前回の並べ替えを解除するには、最初にClearメソッドを実行する必要があります。Excelに並べ替えを記憶させたくない場合は、Applyメソッドの後に並べ替えを追加することもできます。コメント行では、テーブル参照を使用しています。テーブル参照を使用すると、マクロ内のデータ範囲を更新することなく、データ行を追加したり削除したりできます。

現時点では、マクロはキーストロークのショートカットではアクセスできないため、次にそれを処理しましょう。

  1. [開発] タブをクリックし、[コード] グループの [マクロ] をクリックします。
  2. 必要に応じて、SetMultipleColumns プロシージャを選択します。
  3. [オプション]ボタンをクリックします。
  4. 表示されたウィンドウで、Ctrlキーと同時に押すキーを入力してマクロのショートカットを作成します。図Fに示すように、ここではソートキーのSを入力しました。
  5. [OK]をクリックし、[キャンセル]をクリックします。

図F

マクロを実行する前に、データセットをEntryID値で並べ替えてください。その後、Ctrl+Sを押してマクロを実行します。結果は、先ほど手動で2列の並べ替えを行った場合と同じです。セル参照と範囲は明示的に指定されているため、マクロ実行時にどのセルが選択されているかは関係ありません。

いつ使うか

場合によっては、マクロが過剰になることがあります。1つの並べ替えだけを実行する場合は、Alt + D キーを押して何度でも再実行できます。キーボードショートカットが必要になる可能性があるということは、並べ替えを頻繁に変更していることを意味します。しかし、レコードの削除や追加、あるいは値の変更を行っている可能性もあります。前者の場合は、データ範囲をテーブル範囲に変換し、テーブルを参照するコメント行を使用し、VBA プロシージャ内のデータ範囲参照ステートメントをコメントアウトします。そうすれば、マクロを変更することなく行数を変更できます。

マクロはグループタブまたはQATに追加できます。後者を使用する場合は、Altキーを使ってAlt+Nでマクロを実行できます。ここでNはQAT上のマクロの位置を示す整数です。例えば、マクロが最初のオプションの場合はAlt+1、3番目のオプションの場合はAlt+3、というように続きます。

どちらかを実行する方法については、「クイック アクセスのために Office マクロを QAT ツール バーに追加する方法」を参照してください。

Tagged: