ExcelのSORT関数の使い方をお探しですね。
広告
Excelで自動並べ替え!SORT関数とSORTBY関数の使い分けを分かりやすく解説
売上表や名簿、成績表などを扱っていると、新しいデータを追加するたびに並べ替えをやり直すのって面倒ですよね。
手動で並べ替えをすると、範囲選択をミスして行の対応関係がバラバラになってしまったり、元の順番に戻せなくなったりすることもあります。
そこで今回は、Excel のSORT関数とSORTBY関数を使って、データを自動で並べ替える方法を紹介します。
さらに、UNIQUE関数と組み合わせて重複のないリストを作る実用的なテクニックまで、分かりやすく解説していきます。
1. SORT関数・SORTBY関数って何?従来の並べ替えとどう違うの?
SORT関数とSORTBY関数は、Excel 2021やMicrosoft 365で使える便利な関数です。
これらは「動的配列関数」と呼ばれるもので、1つのセルに数式を入力するだけで、結果が複数のセルに自動的に広がって表示されます。
この自動展開は「スピル」という機能で、従来のように数式を下方向にコピーする必要がありません。
これらの関数を使う最大のメリットは、**元のデータはそのままに、別の場所に並べ替えた結果だけを表示できる**ことです。
元の表を残したまま、売上順、日付順、担当者順など、いろいろな見方を同時に作れるので、レポート作成や確認作業がぐっと楽になります。
従来の「データ」タブから行う並べ替えは、元の表そのものの順番を変えてしまいます。
そのため、作業前にバックアップを取ったり、元に戻せるように番号列を用意したりする手間がありました。
一方、SORT関数やSORTBY関数は数式の結果として並べ替え済みの一覧を表示するので、元データを壊す心配がありません。
しかも、元データの値が変わると並べ替え結果も自動で更新されるので、いちいち並べ替え直す必要もないんです。
毎日更新される売上表、在庫表、問い合わせ一覧、試験結果など、頻繁に更新するデータほど効果を実感できます。
ただし、注意点もあります。
SORT関数とSORTBY関数は、すべてのExcelで使えるわけではありません。
基本的にはMicrosoft 365、Excel 2021以降、Excel 2024など、動的配列に対応したバージョンで利用できます。
Excel 2019以前では使えない場合があるので、数式を入力しても関数名が認識されないときは、Excelのバージョンを確認してみてください。
また、スピル先に文字や数式、結合セルがあると「#SPILL!」エラーが出ることがあります。
これは数式が間違っているのではなく、結果を表示する場所がふさがっているだけなので、表示先のセル範囲を空けてから使いましょう。
2. SORT関数の使い方:シンプルに1つの基準で自動並べ替え
SORT関数は、指定した範囲を、何列目または何行目を基準に並べ替える関数です。
基本的な書き方は「**=SORT(範囲, 何列目, 昇順か降順か)**」です。
– **範囲**:並べ替えたいデータ全体
– **何列目**:基準にする列番号(左から数えて何番目か)
– **昇順か降順か**:「1」なら小さい順(昇順)、「-1」なら大きい順(降順)
例えば、A2:C20に商品名、担当者、売上金額の表があって、売上金額の高い順に並べたい場合は「**=SORT(A2:C20, 3, -1)**」と入力します。
これで3列目の売上金額を基準に、表全体が降順(大きい順)で表示されます。
SORT関数の良いところは、数式が短くて分かりやすいことです。
日付の古い順に並べる、金額の高い順に並べる、氏名を昇順に並べるといったシンプルな並べ替えなら、SORT関数だけで十分です。
例えば、A2:D100の表を1列目の日付順に並べるなら「**=SORT(A2:D100, 1, 1)**」です。
2番目以降の引数を省略すると、基本的には1列目を昇順で並べ替えるので、「**=SORT(A2:D100)**」のような書き方もできます。
並べ替え結果は数式を入力したセルを起点に広がるので、結果を表示したい場所の右側と下側に十分な空きスペースを確保しておきましょう。
ただし、SORT関数には注意点もあります。
基準列を「3列目」のように番号で指定するため、元データの列構成が変わると意図しない列で並べ替えてしまうことがあります。
例えば「=SORT(A2:D20, 3, -1)」でC列の売上を基準にしていた場合、途中でB列とC列の間に新しい列を挿入すると、3列目が別の項目になってしまいます。
個人で一時的に使う表なら問題になりにくいですが、チームで共有する管理表や、列の追加が起こりやすい業務ファイルでは注意が必要です。
こういった場合は、次に紹介するSORTBY関数の方が安全で、長期運用に向いています。
3. SORTBY関数の使い方:複数条件や列追加に強い並べ替え
SORTBY関数は、並べ替えたい範囲とは別に、基準にする列範囲を直接指定できる関数です。
基本的な書き方は「**=SORTBY(範囲, 基準列1, 昇順か降順か, 基準列2, 昇順か降順か, …)**」です。
– **範囲**:表示したい表全体
– **基準列1**:並べ替えの基準となる列範囲
– **昇順か降順か**:「1」なら昇順、「-1」なら降順
例えば、A2:C20に商品名、地域、売上金額があって、地域の昇順で並べ、同じ地域内では売上金額の高い順にしたい場合は「**=SORTBY(A2:C20, B2:B20, 1, C2:C20, -1)**」と入力します。
これで、まず地域でグループ化され、その中で売上金額の降順に並ぶ一覧が自動で作成されます。
SORT関数とSORTBY関数の違いで最も重要なのは、**基準の指定方法**です。
SORT関数は列番号で指定するのに対し、SORTBY関数はセル範囲で指定します。
そのため、SORTBY関数は列を挿入・削除したときに参照範囲が自動調整されやすく、数式の意味が壊れにくいという利点があります。
また、複数条件の並べ替えを自然に書ける点も大きな違いです。
SORT関数でも工夫すれば複数条件に近い処理はできますが、条件が増えるほど数式が読みにくくなります。
部署順、売上順、日付順のように優先順位を付けて並べたい場合は、最初からSORTBY関数を選ぶ方が管理しやすくなります。
**使い分けの目安**は、こんな感じです。
– **シンプルな並べ替え** → SORT関数
– **複数条件や保守性重視** → SORTBY関数
例えば「売上金額の高い順に一覧を出す」だけならSORT関数で十分です。
一方、「部署別に並べたうえで、同じ部署内では成績順にする」「在庫切れ商品を上に出し、同じ状態なら需要予測の高い順にする」といった場面ではSORTBY関数が適しています。
特に業務で使うファイルでは、あとから列を追加することが多いため、基準列を範囲で指定できるSORTBY関数の方がトラブルを防ぎやすいです。
なお、SORTBY関数では、範囲の行数と基準列の行数を一致させる必要があります。
「A2:C20」を並べ替えるなら、基準も「B2:B20」「C2:C20」のように同じ開始行・終了行にそろえましょう。
4. UNIQUE関数との連携と、実務で失敗しないコツ
SORT関数やSORTBY関数は、UNIQUE関数と組み合わせるとさらに便利です。
UNIQUE関数は、指定した範囲から重複を除いた固有の値だけを取り出す関数です。
例えば、A2:A100に商品名が入力されていて、重複のない商品一覧を作りたい場合は「**=UNIQUE(A2:A100)**」と入力します。
ただし、このままだと元データに出てきた順に表示されるので、一覧として見やすいとは限りません。
そこで「**=SORT(UNIQUE(A2:A100))**」とすれば、重複を除いた商品名を昇順に整列できます。
商品マスター、顧客名リスト、担当者一覧、科目一覧などを元データから自動生成したいときに非常に便利です。
UNIQUE関数との連携では、**スピル範囲演算子「#」**も覚えておくと便利です。
例えば、E2セルに「=SORT(UNIQUE(A2:A100))」を入力して一覧がスピルされた場合、「**E2#**」と書くことで、E2から広がった結果全体を参照できます。
COUNTIF関数やSUMIF関数と組み合わせれば、重複のない一覧を作ったうえで、各項目の件数や合計金額を自動集計できます。
例えば、顧客名の一覧をUNIQUEで作り、隣の列で売上合計をSUMIFで集計すれば、元データを貼り替えるだけで顧客別売上表を更新できます。
さらに必要に応じてSORTやSORTBYを重ねれば、顧客名順や売上順のレポートも数式だけで作成できます。
実務で安定して使うには、**参照範囲の設計**も重要です。
A2:A100のように固定範囲で指定すると、101行目以降に新しいデータが追加されたときに対象外になってしまいます。
頻繁にデータが増える表では、**Excelのテーブル機能**を使う方法が扱いやすいです。
元データ範囲をテーブル化しておけば、新しい行を追加したときに参照範囲が自動で広がります。
例えば、テーブル名を「売上表」とし、商品列を参照するなら「**=SORT(UNIQUE(売上表[商品名]))**」のように列名で指定できます。
列名で書けるため数式の意味も読み取りやすく、あとから別の人が見ても管理しやすい点がメリットです。
最後に、SORT関数、SORTBY関数、UNIQUE関数を使う際の**注意点**を押さえておきましょう。
– **スピル先に既存データがあると結果が表示できない**ため、数式を置く場所の周囲は空けておきます。
– 日本語の並べ替えでは、通常の並べ替え機能と関数の結果が完全に同じになるとは限りません。
ふりがな情報の扱いや大文字・小文字の区別などで、期待と異なる順序になる場合があります。
– 空白セルや数値と文字列が混在する列を基準にすると、意図しない並び順になることもあります。
重要な業務資料に使う場合は、最初に少量のデータで結果を確認し、必要に応じて補助列やデータ整形を組み合わせると安心です。
まとめ
Excel のSORT関数とSORTBY関数の違いを理解すると、並べ替え作業は単なる手動操作から、更新に強い自動処理へ変わります。
SORT関数はシンプルな1基準の並べ替えに向いていて、SORTBY関数は複数条件や列構成の変更に強い関数です。
さらにUNIQUE関数と連携すれば、重複を除いた一覧作成から並べ替え、集計の下準備までを数式で自動化できます。
毎回同じような並べ替えを繰り返している表があるなら、まずは別シートにSORTまたはSORTBYの結果を表示するところから始めてみてください。
元データを守りながら、業務効率を高められますよ。
広告
