SORT 関数

Excel 365, Excel 2021

概要

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(売上表[全列])

構造化テーブルを動的に並べ替え。新規データ追加時も自動更新されます。

よくある質問

SORTは配列内の列番号で並べ替え、SORTBYは別配列を基準に並べ替えが可能です。列構造が固定のデータにはSORTが適しています。

#VALUE! エラーが発生します。正しい行番号・列番号を指定してください。

#SPILL! エラーが表示されます。スピル範囲を空けてください。

Excel 365、Excel 2021でのみ使用可能です。Excel 2019以前では動作しません。

一般的なエラーと解決策

#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