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で、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。