SORTBY 関数は、範囲または配列の内容を、対応する範囲または配列の値に基づいて並べ替えます。
この例では、人の名前の一覧を年齢 (昇順) で並べ替えます。
=SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],...)
引数 |
説明 |
---|---|
array 必須 |
並べ替えの対象となる配列または範囲 |
by_array1 必須 |
並べ替えの基にする配列または範囲 |
[sort_order1] 省略可能 |
並べ替えに使用する順序。 昇順の場合は 1、降順の場合は -1。 既定値は昇順です。 |
[by_array2] 省略可能 |
並べ替えの基にする配列または範囲 |
[sort_order2] 省略可能 |
並べ替えに使用する順序。 昇順の場合は 1、降順の場合は -1。 既定値は昇順です。 |
:
-
配列は、値の行、値の列、または値の行と列の組み合わせと考えることができます。 上記の例では、SORTBY 式の対象の配列は範囲 D2:E9 です。
-
SORTBY 関数では配列が返され、式の最終結果である場合はスピルします。 つまり、Enter キーを押すと、適切なサイズの配列範囲が動的に作成されます。 サポートしているデータが Excel テーブル内にある場合、構造化参照を使用すると、配列範囲のデータの追加または削除に応じて、配列のサイズが自動的に変更されます。 詳しくは、スピルした配列の動作に関する記事をご覧ください。
-
Excel では、ブック間の動的配列のサポートが制限されており、このシナリオは双方のブックが開いているときにのみサポートされます。 元のブックが閉じられている場合、リンク済みの動的配列数式は更新されるとエラー値 #REF! を返します。
例
テーブルを地域 (昇順) で並べ替えてから、各ユーザーの年齢 (降順) で並べ替えます。
SORTBY と RANDARRAY および COUNTA を使用して、値のリストをランダム化します。 この例では、E2# はセル E2 で始まる動的配列範囲を参照します。これは、それが =SEQUENCE(10) を使用して設定されたためです。 # 記号は、スピル範囲演算子と呼ばれます。
SORTBY を使用して、気温と降水量の値の表を、最高気温の順に並べ替えます。
エラーの条件
-
by_array 引数は、高さが 1 行または幅が 1 列である必要があります。
-
すべての引数は、同じサイズでなければなりません。
-
並べ替え順序引数が -1 または 1 ではない場合、式は #VALUE! エラーになります。 並べ替え順序の引数を省略すると、Excel は既定で昇順になります。
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。