Introduction
Ver. 2021 365
関数を使用して並べ替えを行うには最近登場したSORT関数を使用するのが簡単です。
しかしSORT関数は一つの項目(基準)でしか並べ替えできません。
※SORT関数の説明はこちらから。
複数の項目(基準)で優先順位を付けて並べ替えをするにはSORTBY関数を使用しましょう。
※最近のバージョンでしか使えない関数です
説明を見ると引数の指定が多い感じがしますが、最初にデータ範囲を指定して、並べ替えの範囲と順序を繰り返し指定するだけなので難しく感じる事はないと思います。
SORTBY関数・・・指定した複数の条件でデータを並べ替えて取り出す
=SORTBY(配列 , 基準配列1 , 並べ替え順序1 , [基準配列2] , [並べ替え順序2] , …)
- 配列・・・対象となる表のデータ部分全体を指定
- 基準配列1・・・並べ替えの基準となる列を数値で指定
- 並べ替え順序1・・・昇順(小さい順)は「1」、降順(大きい順)は「-1」を指定[省略可能]
※省略した場合は昇順「1」になります - 基準配列2, 並べ替え順序2,…・・・追加の配列と順序を指定
バージョン2021以降か365でしか使えない関数だにゃ
SORTBY関数の使い方
今回の説明は、下の表を使用します。
「受注営業所」ごとにまとめるため「昇順」で並べ替え、同じ営業所の中では、「単価」が高い順(降順)になるように並べ替えしてみます。
※昇順と降順の覚え方などの説明はこちらをご覧ください。
SORTBY関数は、元の表と違う場所に結果を表示します。
並べ替え後を表示したいセルを選択して、[関数の挿入]ボタンをクリック。
[関数の種類]を[検索/行列]か[すべて表示]に切り替えて「SORTBY」を選んで[OK]をクリック。
SORTBY関数・・・指定した複数の条件でデータを並べ替えて取り出す
=SORTBY(配列 , 基準配列1 , 並べ替え順序1 , [基準配列2] , [並べ替え順序2] , …)
- 配列・・・対象となる表のデータ部分全体を指定
- 基準配列1・・・並べ替えの基準となる列を数値で指定
- 並べ替え順序1・・・昇順(小さい順)は「1」、降順(大きい順)は「-1」を指定[省略可能]
※省略した場合は昇順「1」になります - 基準配列2, 並べ替え順序2,…・・・追加の配列と順序を指定
最初の[配列]の場所には、元の表のデータ部分全体を指定します。「見出し」を含めてはいけません。
※「並べ替え」機能のように「先頭行をデータの見出しとして使用する」ことができません。
次の[基準配列]の場所は、並べ替えの基準となる列範囲を指定します。
今回はまず「受注営業所」で並べ替えたいので「C2:C11」となります。
次に今指定した列の並べ替えを昇順にするか降順にするかを指定します。
※文字列を並べ替えする際は「振り仮名」ではなく「文字コード」が使用されます。
- 昇順(小さい順)・・・「1」を入力・・・省略した場合はこちら
- 降順(大きい順)・・・「-1」を入力
今回は昇順にするので「1」を入力。※省略してもOK
後は、次の優先順位で並べ替えをしたい基準列と順序を対で指定していきます。
下のようなイメージです。
今回は「単価」の「降順」にしたいので、以下のように設定します。
- 基準配列2・・・「E2:E11」
- 並べ替え順序2・・・「-1」
必要があれば、さらに下に追加していきます。
※入力場所は下部分をクリックすれば増えていきます。
今回は、これで終了。[OK]をクリックすると結果がスピルして表示されます。
スピルに関して説明が必要な方は下のリンク先をご覧ください。
※データに「日付」がある場合はシリアル値で表示されてしまうので「日付」表示になおしてあげましょう。
[ホーム]タブ → [数値の書式] → [短い日付形式]
まとめ
今回のポイントを簡単にまとめておきます。
- 最初の全体の範囲指定は見出しを含めず、データのみを選択する。
- [並べ替え順序]は省略すると昇順になる。降順にするには「-1」を入力。
- 文字列の並べ替えは、振り仮名ではなく文字コードが使用される。
元の表をいじらずに、別の箇所に並べ替え結果を表示したい場合に便利ですね。
ただ、他のPCでも使用することがあるファイルの場合は後方互換を考える必要があります。
SORT関数よりもSORTBY関数の方が設定が分かり易いかもしれないにゃ