SORT関数で並べ替えを自動化!初心者でもすぐ使えるExcel時短術|SORTBY関数・スピル機能まで徹底解説

ExcelのSORT関数で表を自動で並べ替える仕組みの図解 Excel

どうも、くまおやぢです。

毎月末に売上表を「金額の高い順に並べ替えて上司に提出」——こんな作業、あなたの職場にもありませんか?

そのたびに手作業で並べ替えて、確認して、印刷して。「あれ、この並び替え先月もやったな…」と思いながら。

ご安心を。 そのルーティン作業、SORT関数を1回入力するだけで、永久に自動化できます。

データが更新されたら並べ替えも自動更新。手作業の「やり直し」からも「うっかりミス」からも、一気に解放されるんです。

この記事では、SORT関数の基本から、複数条件を扱えるSORTBY関数の応用まで、実例を踏まえてステップバイステップで解説します!


急いでいる人へ|SORT関数の最短手順

「理屈はいいから、とにかく使い方を教えて!」という方のために、最小構成を先にお伝えします。

① 並べ替え結果を表示したい空きセルをクリック(例:E2セル)

② 以下の数式を入力する

=SORT(A2:C11)

③ Enterキーを押す

→ A2:C11の範囲が、1列目(A列)を基準に昇順で並べ替えられた結果が、E2セルを起点にして自動展開(スピル)されます。

降順にしたい場合は:

=SORT(A2:C11, 1, -1)

詳しい使い方は、以下で順番に解説していきます!


01. SORT関数ってどんな関数?まず概要を理解しよう

SORT関数は「非破壊的な並べ替え」ができる

Excelには昔から「並べ替え」ボタンがありますね。あれを使うと元のデータ自体が並べ替わるので、「元に戻したい!」となったときに困ることがあります。

一方、SORT関数は元データに手を加えず、別の場所に「並べ替え済みの複製」を表示するという仕組みです。

手法元データ自動更新複数の並び順を同時表示
並べ替えボタン変わる
SORT関数変わらない

「元データは守りたい。でも並べ替えた結果も常に手元に置きたい」——そのわがままを叶えてくれるのが、SORT関数です。

使えるバージョンを確認しよう

SORT関数は比較的新しい関数です。まずお使いのExcelが対応しているか確認してください。

バージョン対応
Microsoft 365(サブスクリプション版)◎ 使える
Excel 2021◎ 使える
Excel 2019✕ 使えない
Excel 2016 以前✕ 使えない

使えない環境では #NAME? エラーが表示されます。その場合は従来の「並べ替えボタン」を使いましょう。

SORT関数は「スピル機能」とセットで動く

SORT関数を理解するうえで欠かせないのが、スピル機能です。スピルとは「1つのセルに入力した数式の結果が、隣接する複数のセルに自動的にこぼれ出る」仕組みのこと。

スピルの詳細は「Excelのスピル機能を徹底解説!動的配列で数式がグッとシンプルになる」で解説していますので、ぜひあわせてご覧ください。

SORT関数はこのスピル機能を前提に設計された「動的配列関数」です。Enter1回で必要なぶんだけ結果が広がる——それがSORT関数の真骨頂です。

次の章では、具体的な書き方を見ていきましょう。


02. SORT関数の基本構文|4つの引数を1つずつ解説

=SORT(配列, [並べ替えインデックス], [並べ替え順序], [列を基準にする])

引数は4つ。[ ]で囲まれているものは省略可能です。必須なのは最初の「配列」だけ。

引数①:配列(必須)

並べ替えたいデータ範囲を指定します。

=SORT(A2:C11)

この例では、A2からC11の範囲(ヘッダー行を除く10行3列のデータ)を対象にしています。

ポイント:ヘッダー行(見出し行)は含めないでください。SORT関数はヘッダーを「ただのデータ」として扱うため、見出しも一緒に並べ替えてしまいます。

引数②:並べ替えインデックス(省略可)

「何列目を基準に並べ替えるか」を数値で指定します。省略した場合は 1(1列目)になります。

指定値意味
省略 or 11列目(A列)を基準に並べ替え
22列目(B列)を基準に並べ替え
33列目(C列)を基準に並べ替え

引数③:並べ替え順序(省略可)

昇順か降順かを指定します。省略した場合は 1(昇順)になります。

指定値意味
省略 or 1昇順(小→大 / あ→ん / 古→新)
-1降順(大→小 / ん→あ / 新→古)

売上ランキングなら降順(-1)を使います。日付順なら昇順(1)が一般的です。

引数④:列を基準にする(省略可)

行方向に並べ替えるか、列方向に並べ替えるかを指定します。通常は省略(FALSE)でOKです。

指定値意味
省略 or FALSE行単位で並べ替え(通常はコレ)
TRUE列単位で並べ替え(横方向の表向き)

一般的な縦長の表では常に省略で大丈夫です。

次の章では、実際の業務シーンに即した使い方を見ていきます!


03. SORT関数の実例①|売上ランキングを自動生成する

サンプルデータ

以下のような売上データがあるとします。

A列B列C列
1行目(ヘッダー)担当者名商品名売上金額
2行目田中コピー用紙32,000
3行目鈴木トナーカートリッジ85,000
4行目佐藤ファイル12,500
5行目山本ホチキス5,200
6行目田中USBメモリ48,000

SORT関数でランキング表を作る

E2セルに、以下の数式を入力します。

=SORT(A2:C6, 3, -1)
  • A2:C6:元データの範囲
  • 3:3列目(C列=売上金額)を基準に
  • -1:降順(金額の高い順)

Enterを押すと——

E列F列G列
E2〜G6に自動展開鈴木トナーカートリッジ85,000
田中USBメモリ48,000
田中コピー用紙32,000
佐藤ファイル12,500
山本ホチキス5,200

E2セルにだけ数式を入れたのに、E2:G6の5行3列にわたって結果が自動展開されました。これがスピルの働きです。

重要なポイント:元データ(A2:C6)は一切変わっていません。 元データとランキング表を同じシートに並べて置けるのです。

元データを更新すれば自動で順位が変わる

C5セルの「12,500」を「95,000」に変えてみてください。G列のランキングが即座に更新され、佐藤さんが1位に浮上します。

月次集計のたびに手作業で並べ替える必要が、完全になくなります。


04. SORT関数の実例②|日付順のスケジュール表を自動整列

課題:入力順がバラバラなスケジュール表

社内の作業スケジュールを「入力した順番」で管理していると、日付順に並べ替えるのが地味に手間ですよね。

A列B列C列
1行目日付担当者作業内容
2行目2024/4/10佐藤月次レポート提出
3行目2024/4/5田中在庫棚卸し
4行目2024/4/15山本機器点検
5行目2024/4/3鈴木備品発注

このデータをE2セルから日付順に表示するには:

=SORT(A2:C5, 1, 1)
  • 1(インデックス):1列目(日付)基準
  • 1(順序):昇順(古い順)

結果は自動的に「2024/4/3 → 2024/4/5 → 2024/4/10 → 2024/4/15」の順に整列されます。

ちょっとした注意点:日付の並べ替えは「シリアル値」で行われます。セルの表示形式が「日付」になっていれば問題ありません。ただし「2024/4/5」と「4/5」のように、見た目は同じでも異なる年のデータが混在しているとうまく並ばない場合があります。その場合はセルの値を確認してみてください。

次の章では、複数の条件を組み合わせた並べ替えができる、SORTBY関数を紹介します!


05. ここからは応用編!SORTBY関数で複数条件の並べ替え

SORT関数だと1条件しか指定できない問題

SORT関数の弱点は、並べ替えの基準を1つしか指定できない点です。

たとえば「部署名で昇順に並べ替えて、さらに同じ部署の中では売上金額の高い順にしたい」——これはSORT関数だけではできません。

そこで登場するのが SORTBY関数 です。

SORTBY関数の構文

=SORTBY(配列, 並べ替え基準1, [順序1], [並べ替え基準2, 順序2], ...)

SORT関数と違うのは、「配列」と「並べ替えの基準となる列」を別々に指定できる点です。そして、基準と順序のペアをいくつでも追加できます。

実例:部署名の昇順 → 売上金額の降順

A列B列C列
1行目氏名部署売上金額
2行目田中営業部85,000
3行目鈴木総務部32,000
4行目佐藤営業部48,000
5行目山本総務部71,000
6行目木村営業部60,000

E2セルに以下を入力:

=SORTBY(A2:C6, B2:B6, 1, C2:C6, -1)
  • A2:C6:表示したいデータの範囲全体
  • B2:B6:①の並べ替え基準(部署)
  • 1:①昇順(営業部→総務部のアルファベット順)
  • C2:C6:②の並べ替え基準(売上金額)
  • -1:②降順(高い順)

結果:

E列F列G列
田中営業部85,000
木村営業部60,000
佐藤営業部48,000
山本総務部71,000
鈴木総務部32,000

「営業部内では売上金額が高い順」「総務部内でも売上金額が高い順」にきれいに並びました。

SORTBY関数の重要ルール:「配列」と「並べ替え基準」の行数を必ず揃えてください。A2:C6B2:B6は両方とも5行。ここがずれると #VALUE! エラーになります。


06. SORT関数と他の関数の組み合わせ技

FILTER関数との組み合わせ|条件で絞り込んで並べ替え

「営業部だけを抽出して、売上金額の高い順に表示したい」——そんな場面では、FILTER関数とSORT関数を組み合わせるのが最強パターンです。

=SORT(FILTER(A2:C6, B2:B6="営業部"), 3, -1)
  • FILTER(A2:C6, B2:B6="営業部"):営業部の行だけを抽出
  • それをSORT関数で、3列目(売上金額)降順に並べ替え

FILTER関数の詳細は「Excel動的配列関数の活用術|FILTER・UNIQUEで自動抽出&重複排除」で解説しています。あわせてご覧ください!

スピル範囲演算子(#)との組み合わせ

SORT関数の結果をさらに別の計算に使いたい場合は、スピル範囲演算子(#が便利です。

E2セルにSORT関数の結果がスピルしているとき、G2セルで売上合計を出すには:

=SUM(G2#)

G2# は「G2セルを起点にスピルした範囲全体」を意味します。データ件数が増えても減っても、この数式は常に正しい合計を返し続けます。


07. よくあるエラーと対処法

① #SPILL! エラー:スピル先にデータが入っている

症状:SORT関数を入力したら #SPILL! と表示された
原因:結果を展開しようとした範囲(スピル先)に、別のデータや文字が入っている
対処:エラーが出ているセルをクリックすると点線の枠が表示されます。その範囲内のセルを確認し、邪魔なデータを削除または移動してください。スペースが1つ入っているだけでもエラーになります

スピルエラーの詳しい解説は スピル完全ガイド をご参照ください。

② #NAME? エラー:バージョンが対応していない

症状:数式を入力したら #NAME? と表示された
原因:Excel 2019以前など、SORT関数に対応していないバージョンを使っている
対処:Microsoft 365またはExcel 2021以降への移行を検討してください。それまでは「並べ替えボタン」で対応しましょう

③ #VALUE! エラー:SORTBY関数で行数が合っていない

症状:SORTBY関数を入力したら #VALUE! と表示された
原因:「配列」と「並べ替え基準」で指定している行数が一致していない
対処:それぞれの引数の範囲を確認し、行数を揃えてください。例えば配列が A2:C10(9行)なら、並べ替え基準も B2:B10(9行)にする

④ 日本語名が思い通りに並ばない

症状:名前を五十音順に並べ替えたつもりが、バラバラになった
原因:SORT関数の文字列ソートは「文字コード順」であり、「ふりがな(読み)順」ではない
対処:別途「ふりがな列」を用意し(PHONETIC関数で自動取得可能)、その列を並べ替え基準にしましょう

=SORT(A2:C10, 4, 1)

(4列目にふりがな列を追加した場合)

⑤ 元データを変更したのに並べ替え結果が変わらない

症状:元データを書き換えたのに、SORT関数の結果が更新されない
原因:Excelの再計算がオフになっている可能性がある
対処Ctrl + Alt + F9 で全シートを強制再計算してください。または「数式」タブ→「計算オプション」→「自動」を確認


08. 実務での活用シーン

SORT関数・SORTBY関数が実務で光る場面をまとめました。あなたの職場に当てはまるものはありますか?

◎ 月次売上ランキング表の自動生成

毎月の売上データ入力後、別シートに「TOP10ランキング」を自動表示。上司への報告資料の準備時間が大幅に削減されます。

◎ 在庫管理の残数少ない順表示

在庫数が少ないものから順に並べ替えて、発注優先リストを自動生成。「うっかり在庫切れ」の防止に。

◎ 案件管理表の期日が近い順整列

営業やプロジェクト管理で使うタスクリストを、納期の近い順に自動整列。対応漏れが激減します。

◎ スタッフ名簿のふりがな順並べ替え

入社のたびに手作業で並べ替えていた名簿も、ふりがな列を設けてSORT関数を設定すれば、以後は完全自動化。

◎ アンケート結果の集計・ランキング化

回答データを集計した後、スコアや回答数の高い順に並べ替えて集計資料を即座に作成。


09. まとめ|SORT関数で「毎月の並べ替え地獄」から抜け出そう

この記事でお伝えしたことを、振り返りチェックリストでまとめます。

◎ 振り返りチェックリスト

  • [ ] SORT関数の基本構文を理解した(配列・インデックス・順序)
  • [ ] 降順(-1)と昇順(1)の使い分けができる
  • [ ] スピル機能とSORT関数の関係が分かった
  • [ ] SORTBY関数で複数条件の並べ替えができる
  • [ ] FILTER関数との組み合わせを知った
  • [ ] #SPILL! エラーへの対処法を知っている
  • [ ] 日本語名のふりがなソートの注意点を知っている

◎ 今日やるべき最小アクション

まずは、自分の職場にある「毎回手動で並べ替えている表」を1つ思い浮かべてください。

それを開いて、空きセルに =SORT(データ範囲, 並べ替えたい列番号, -1) と打ち込んでみてください。

それだけでいいんです。最初はそれだけ。


難しく考えなくても大丈夫です。SORT関数は引数さえ覚えれば、あとはExcelが全部やってくれます。

「あせらず、くさらず、あきらめず」——まずは今日の業務の隙間に、1つだけ試してみてください。うまくいったら、ぜひ職場の仲間にも教えてあげてください。あなたのちょっとした一歩が、周りの「困った」を減らすきっかけになります。

FILTER関数やUNIQUE関数と組み合わせると、SORT関数はさらにパワーアップします。余裕が出てきたら、ぜひそちらにも挑戦してみてください。


◎ 関連記事もあわせてどうぞ

あなたのフィードバックが次の記事のヒントになります。コメントや質問があれば、お気軽にどうぞ!


動作確認環境:Microsoft 365(Excel for Windows) / Excel 2021
SORT関数・SORTBY関数はExcel 2019以前では使用できません。

コメント

タイトルとURLをコピーしました