説明
この関数を使用して、範囲あるいは配列を 1 つあるいは複数の列で昇順あるいは降順に並べ替えます。
構文
SORT(array, [sort_column1], [sort_order1], [sort_order2], [sort_order3]).
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効入力 |
|---|---|---|---|
配列 |
はい | ソートする範囲または配列。 | セル、セル範囲、またはこれらのいずれかになる数式。 |
[sort_column1] ソートするカラム番号。 |
いいえ | 並べ替えの列番号。最初の列 (A) は 1。 | ソートする列を表す正の整数、あるいは正の整数になる数式。 |
[ソート順1] |
いいえ | 指定した列のソート順。デフォルトは 1 (昇順)。 | 値 1 (昇順)、または -1 (降順) の正の整数、あるいはこれらのいずれかになる数式。 |
[by_column]。 |
いいえ | 並べ替えを列で行う場合。デフォルトは FALSE (行ごとにデータを縦に並べ替え)。 | TRUE または 1 = 列で並べ替え。FALSE または 0 = 行による並べ替え、またはこれらのいずれかになる数式。 |
例
サンプルデータ
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 名称 | 名字 | 年齢 | 都市 | 給与 |
| 2 | ジョン | スミス | 35 | フィラデルフィア | 75000 |
| 3 | アリス | ジョンソン | 28 | シカゴ | 65000 |
| 4 | ボブ | ホワイト | 42 | ロサンゼルス | 85000 |
| 5 | ハリー | ハリソン | 33 | シカゴ | 70000 |
| 6 | アリス | クラムデン | 39 | ブルックリン | 72000 |
数式のサンプル
| 使用例 | 数式 | 説明と結果 | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| データセットを特定の列の昇順で並べ替え. | =sort(a2:e6, 3, 1) |
この数式は、データセット全体を年齢の昇順で並べ替えます。このデータ設定では、次のように返却されます:
|
|||||||||||||||||||||||||
| 元の行の関係を保持したまま、データセットを特定の列の昇順で並べ替えます。 | =sort(a2:e6, 4, 1, 0) |
この数式は元の行の関係を維持しながら範囲全体を City 列 (列 4) で昇順に並べ替える。 このデータ設定では、次のように返却されます:
|
|||||||||||||||||||||||||
| セルのサブセットを選択し、その結果を別の列で並べ替えます。 | =SORT(FILTER(A2:E6, C2:C6>30), 5, -1) |
この数式は、FILTERを使用して、30歳を超える従業員を選択し、
|
|||||||||||||||||||||||||
| 複製がない名称のリストを生成します。 | =sort(unique(a2:a6), 1, 1) |
この数式は、UNIQUE を使用して、各名称がリスト内で 1 回だけ出現するような名称のリストを作成し、アルファベット順に並べ替えます。このデータセットの場合次のように返される。
|
|||||||||||||||||||||||||
| データ設定で最も古い人の名称を検索。 | =take(sort(a2:b6, 2, -1), 1, 1) |
この数式はまず年齢で降順にデータを並べ替えるため最年長の人 (ボブ、42 歳) が最初に表示される。次にTAKEは最初の行の Name の値を返す。このデータセットの場合次のように返される。
|
メモ
SORT 関数は次のようになる。
- 指定された順序で複数の列で並べ替えることができる。
- 静的範囲と動的配列の両方で動作します。
- 昇順と降順の両方の並べ替え順序をサポートする。
ヒント
- ヘッダー行がある場合、配列の値を 1 行下げて開始します (たとえば上のデータセットでは、A1 ではなく A2 から開始します)。
- SORTは以下を含む他の関数と結合することができます:
関連関数
Workiva スプレッドシートで対応可能なその他の配列数式関数を示します。