Googleスプレッドシートで大量のデータを扱っていると、複数の条件で並べ替えたい場面がよくあります。例えば、まず「部署」でグループ化し、その中を「売上」の高い順に並べるといった優先順位付きのソートです。この記事では、スプレッドシートの標準機能を使って複数列を簡単にソートする手順を解説します。数クリックで優先順位を設定し、思い通りのデータ順序を実現できるようになります。フィルタ機能やQUERY関数を使う方法もありますが、最も簡単なのが今回紹介する方法です。
【要点】複数列ソートの優先順位を設定する方法
- データメニューから「並べ替え範囲」を選択: 優先順位を指定して複数列を一度に並べ替えます。
- 並べ替え条件を追加: ダイアログで「別の並べ替え列を追加」をクリックして条件を増やします。
- 昇順・降順の指定: 各列ごとに昇順または降順を選択して優先順位を設定します。
ADVERTISEMENT
目次
複数列ソートの仕組みと優先順位の考え方
スプレッドシートの並べ替え機能は、指定した列の値に基づいて行を並び替えます。複数列を指定すると、最初に指定した列で全体を並べ替え、その中で同じ値を持つ行については次の列の順序に従います。これが優先順位です。例えば、まず「部署」列で昇順に並べ、同じ部署内では「売上」列で降順に並べる、といった設定が可能です。この機能を使うには、データの範囲にヘッダー行があるかどうかを意識する必要があります。ヘッダー行がある場合は「データにヘッダー行が含まれる」にチェックを入れます。また、並べ替える列はテキスト、数値、日付などデータの型に応じて適切に並べられます。数値であれば降順で大きい順、日付であれば降順で新しい順など、直感的に動作します。複数列ソートのメリットは、フィルタ機能を使わずに一度の操作で目的の順序に整列できる点です。特に、縦方向に長いデータセットでは、グループ化と順位付けを同時に行えるため、手間が大幅に減ります。
複数列で優先順位付きソートを行う手順
ここでは、具体的な売上管理表を例に手順を説明します。A列に部署名、B列に社員名、C列に売上金額が入力されている表を、まず部署名(昇順)、次に売上金額(降順)で並べ替えます。
- 並べ替えたいデータ範囲を選択する
並べ替えたいセル範囲全体をマウスでドラッグして選択します。この例ではA1:C10のように、ヘッダー行(1行目)も含めて選択します。後で「データにヘッダー行が含まれる」にチェックを入れれば自動的に認識されるため、範囲にヘッダーを含めても問題ありません。選択範囲は必ずすべての関連列を含むようにしてください。 - 「データ」メニューから「並べ替え範囲」を開く
メニューバーの「データ」をクリックし、表示されたメニューから「並べ替え範囲」を選択します。サブメニューで「並べ替え範囲」または「シート全体を並べ替え」を選びます。通常は選択範囲のみを並べ替える「並べ替え範囲」を選びます。シート全体を並べ替える場合は「シート全体を並べ替え」を選択します。 - 並べ替え条件を追加する
ダイアログボックスで、最初の並べ替え列を選択します。「列」のドロップダウンから列ラベル(A、B、Cなど)またはヘッダー名(「部署名」「社員名」「売上」など)を選びます。ここでは「部署名」を選び、並べ替え順は「昇順(A→Z)」を選択します。次に「別の並べ替え列を追加」をクリックします。 - 2つ目以降の並べ替え条件を設定する
追加された行で、2番目に優先したい列を選択します。この例では「売上」を選び、並べ替え順に「降順(Z→A)」を選択します。必要に応じて「別の並べ替え列を追加」を繰り返し、3つ目以降の条件を設定できます。最大数は特にありませんが、3つ程度までが実用的です。 - 並べ替えを実行する
すべての条件を設定したら、「並べ替え」ボタンをクリックします。データが優先順位に従って並べ替えられます。その際、「データにヘッダー行が含まれる」のチェックボックスがオンになっていることを確認してください。並べ替え後は、Ctrl+Zで元に戻せますが、後の編集で戻せなくなる可能性もあるので注意しましょう。
複数列ソートで注意すべきポイント
ソート範囲がずれてしまう問題
並べ替え範囲を選択する際、列全体ではなく一部の列だけを選択してしまうと、その列だけが並べ替えられ、他の列のデータとの対応が崩れます。必ず、関連するすべての列を含むセル範囲を選択してください。例えば、A列からC列までのデータがある場合、A列だけを選択して並べ替えると、B列やC列のデータがずれて意味不明な表になります。範囲選択は必ず全列を含むようにしましょう。また、行の選択漏れも同様の問題を引き起こします。範囲選択はマウスドラッグの他に、範囲の先頭セルをクリックしてShiftキーを押しながら最後のセルをクリックする方法もあります。
ヘッダー行がデータとして並べ替えられてしまう
ヘッダー行がある場合、「データにヘッダー行が含まれる」にチェックを入れ忘れると、ヘッダー行も通常のデータとして並べ替えられてしまいます。すると、ヘッダーがデータの中に紛れてしまうことがあります。並べ替えのダイアログでこのチェックボックスを忘れずにオンにしてください。また、ヘッダー行が複数行ある場合は、「データにヘッダー行が含まれる」では対応できないため、一度データを並べ替える前にヘッダー行を固定するなどの工夫が必要です。複数行ヘッダーがある場合は、ヘッダー行を別シートに退避させてから並べ替える方法も有効です。
並べ替えの優先順位を後から変更したい場合
一度並べ替えを実行した後で優先順位を変更したい場合は、再度「データ」→「並べ替え範囲」を開き直して条件を編集します。並べ替え条件の並び順をドラッグして入れ替えることはできません。そのため、条件を削除して追加し直すか、すべての条件を設定し直す必要があります。事前に優先順位をよく考えてから設定することをおすすめします。ただし、並べ替えをやり直しても元のデータが失われるわけではないので、何度でも試せます。また、並べ替え後にデータを追加した場合、再度並べ替えを実行しないと追加行は適切な位置に移動しません。
空白セルの扱いについて
並べ替えの際、空白セルは通常、昇順では最後に、降順では最初に配置されます。この動作は変更できません。もし空白セルの扱いをカスタマイズしたい場合は、フィルタ機能を使って手動で調整するか、IF関数などで空白を別の値に置き換えるなどの対策が必要です。例えば、空白を「zzz」などの文字列に変換すれば、昇順でも最後に表示させることができます。ただし、元のデータを変更することになるので、バックアップを取ってから行ってください。
シート全体を並べ替える場合の注意
シート全体を並べ替えるには、「データ」→「並べ替え範囲」→「シート全体を並べ替え」を選択します。この場合、シート内のすべてのデータが対象となります。ただし、他のシートのデータや、列の追加・削除に影響を受けるため、事前にバックアップを取るか、別のシートでテストすることをおすすめします。また、シート全体を並べ替えると、空白行や空白列も並べ替えの対象になるため、意図しない結果になる可能性があります。そのため、通常は手動で範囲を指定する「並べ替え範囲」を使う方が安全です。
ADVERTISEMENT
まとめ
この記事では、Googleスプレッドシートで複数列を優先順位をつけてソートする方法を解説しました。データメニューの「並べ替え範囲」から条件を追加するだけで、簡単に優先順位付きの並べ替えができます。例えば、売上データをエリア別に並べ、さらにエリア内で売上順に並べ替えるといった活用が可能です。ぜひ実際のデータで試してみてください。また、応用としてフィルタビューと組み合わせることで、表示と並べ替えを柔軟に管理できます。さらに複雑な条件が必要な場合は、QUERY関数やSORT関数の利用も検討してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
