クイックナビゲーション
SORT 関数
概要
SORT 関数は、指定した範囲や配列を動的に並べ替えて新しい配列を返します。Excel の動的配列機能を活用し、データ分析やレポート作成で効率的にデータを整理できます。従来の並べ替え機能とは異なり、数式で自動的に並べ替え結果を生成します。
構文
=SORT(array,[sort_index],[sort_order],[by_col])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| array | 範囲/配列 |
はい | 並べ替える対象の範囲または配列です。必須引数です。 |
| sort_index | 数値 |
いいえ | 並べ替えの基準となる行番号(行並べ替え時)または列番号(列並べ替え時)を指定します。省略時は1行目/1列目が基準となります。 |
| sort_order | 数値 |
いいえ | 並べ替え順序を指定します。1(省略時):昇順、-1:降順です。 |
| by_col | 論理値 |
いいえ | 並べ替え方向を指定します。TRUE:列で並べ替え、FALSE(省略時):行で並べ替えです。 |
SORT関数の使用
SORT 関数はデータ分析の場面で特に有用です。売上データ、地域別成績、タイムシリーズデータなどを素早く並べ替えて視覚化できます。FILTER 関数や UNIQUE 関数と組み合わせることで、強力なデータ抽出・整理機能を実現します。
SORTの一般的な例
基本的な昇順並べ替え
=SORT(A2:A20)
A列のデータを昇順で並べ替えます。1列目基準で自動スピルします。
売上額降順並べ替え
=SORT(A2:C20,2,-1)
A:C範囲を2列目(売上額)を基準に降順で並べ替えます。営業成績表に最適です。
縦方向データの列並べ替え
=SORT(A1:E5,,1,TRUE)
横長データ(5列)を列方向で昇順並べ替えます。統計データの整理に使用します。
FILTERとの組み合わせ
=SORT(FILTER(A2:C20,C2:C20>10000),2,-1)
売上10,000円超のデータを抽出し、売上額降順で並べ替えます。
テーブルデータの動的並べ替え
=SORT(売上表[全列])
構造化テーブルを動的に並べ替え。新規データ追加時も自動更新されます。
よくある質問
一般的なエラーと解決策
#SPILL! エラー
Cause: 結果配列のスピル範囲に他のデータが存在します
Solution: スピル範囲(入力セルの右下)をクリアして空けてください
#VALUE! エラー
Cause: sort_index が配列の範囲外の数値です
Solution: sort_index を1~配列の行数/列数の範囲内に設定してください
#NAME? エラー
Cause: Excel バージョンが対応していません
Solution: Excel 365 または Excel 2021 を使用してください
並べ替え結果が期待通りでない
Cause: by_col の設定ミス
Solution: 行並べ替え:FALSE、列並べ替え:TRUE を正しく設定してください
注記
- 動的配列関数群(FILTER、UNIQUE、SORTBYなど)と組み合わせると最強のデータ分析ツールになります
- Excelテーブル使用時は構造化参照で記述するとデータ追加時も自動対応します
- 複数列での複雑な並べ替えには SORTBY 関数を併用してください
- ブック間参照時は両方のブックを開いている必要があります
互換性
利用可能: Excel 365, Excel 2021
利用不可: Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021