どうも、くまおやぢです。
毎月末に売上表を「金額の高い順に並べ替えて上司に提出」——こんな作業、あなたの職場にもありませんか?
そのたびに手作業で並べ替えて、確認して、印刷して。「あれ、この並び替え先月もやったな…」と思いながら。
ご安心を。 そのルーティン作業、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 1 | 1列目(A列)を基準に並べ替え |
2 | 2列目(B列)を基準に並べ替え |
3 | 3列目(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:C6とB2: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以前では使用できません。


コメント