Introduction
Ver. 2021 365
エクセルで「並べ替え」機能を使用せずに、関数で並べ替えする方法です。
最近登場したSORT関数を使用することで、簡単にできるようになりました。
※最近のバージョンでしか使えない関数です
引数の指定が多いですが、省略できる場所があるので、それほど大変な関数ではありません。
SORT関数・・・指定した条件でデータを並べ替えて取り出す
=SORT(配列 , 並べ替えインデックス , 並べ替え順序 , 並べ替え基準)
- 配列・・・対象となる表のデータ部分全体を指定
- 並べ替えインデックス・・・並べ替えの基準となる行か列を数値で指定[省略可能]
※省略した場合は左上が基準になります - 並べ替え順序・・・昇順(小さい順)は「1」、降順(大きい順)は「-1」を指定[省略可能]
※省略した場合は昇順「1」になります - 並べ替え基準・・・行基準で並べ替えるには「FALSE」、列基準で並べ替えるには「TRUE」を指定[省略可能]
※省略した場合は行基準「FALSE」になります
バージョン2021以降か365でしか使えない関数だにゃ
SORT関数の使い方
今回の説明は、下の表を使用します。
では、一番右にある「単価」が低い順(昇順)になるように並べ替えしてみましょう。
SORT関数は、元の表と違う場所に結果を表示します。
並べ替え後を表示したいセルを選択して、[関数の挿入]ボタンをクリック。
[関数の種類]を[検索/行列]か[すべて表示]に切り替えて「SORT」を選んで[OK]をクリック。
SORT関数・・・指定した条件でデータを並べ替えて取り出す
=SORT(配列 , 並べ替えインデックス , 並べ替え順序 , 並べ替え基準)
- 配列・・・対象となる表のデータ部分全体を指定
- 並べ替えインデックス・・・並べ替えの基準となる行か列を数値で指定[省略可能]
※省略した場合は左上が基準になります - 並べ替え順序・・・昇順(小さい順)は「1」、降順(大きい順)は「-1」を指定[省略可能]
※省略した場合は昇順「1」になります - 並べ替え基準・・・行基準で並べ替えるには「FALSE」、列基準で並べ替えるには「TRUE」を指定[省略可能]
※省略した場合は行基準「FALSE」になります
最初の[配列]の場所には、元の表のデータ部分全体を指定します。「見出し」を含めてはいけません。
※「並べ替え」機能のように「先頭行をデータの見出しとして使用する」ことができません。
次の[並べ替えインデックス]の場所は、どの列を基準にして並べ替えるかを数値で指定します。
選択した範囲の一番左端列を「1」として順番に数えます。
今回は「単価」の小さい順にしたいので、「単価」は5列目。「5」と入力します。
[並べ替え順序]は昇順(小さい順)にするか降順(大きい順)にするかを指定します。
※昇順と降順どっちがどっちだか忘れてしまう方はこちらをご覧ください。
ちなみに、文字列を並べ替えする際は「振り仮名」ではなく「文字コード」が使用されます。
- 昇順(小さい順)・・・「1」を入力・・・省略した場合はこちら
- 降順(大きい順)・・・「-1」を入力
※通常Excelで2つの異なる指定をする際は「0」「1」を使用することが多いのですが、降順は「-1」を指定することに注意しましょう。
今回は昇順(小さい順)にしたいので省略して何も入力しません。
最後に[並べ替え基準]です。
- 行方向(横方向)に並べ替える・・・「FALSE」を入力・・・省略した場合はこちら
- 列方向(縦方向)に並べ替える・・・「TRUE」を入力
※「TRUE」を指定した場合[並べ替えインデックス]は、上から何番目の行を基準にするかで指定する
ほとんどの場合、並べ替えは行方向で行います。
つまり、普段は省略してしまって良いでしょう。今回も省略します。
結局今回は、上の2か所を指定しただけで終了です。
[OK]を押すと結果が表示されます。
※データに「日付」がある場合はシリアル値で表示されてしまうので「日付」表示になおしてあげましょう。
[ホーム]タブ → [数値の書式] → [短い日付形式]
結果は青枠で囲まれてスピルして表示されます。スピルに関しては下のリンク先をご覧ください。
まとめ
今回のポイントを簡単にまとめておきます。
- 最初の全体の範囲指定は見出しを含めず、データのみを選択する。
- 2番目の[並べ替えインデックス]は左端を「1」として数える
- 3番目の[並べ替え順序]は省略すると小さい順になる。大きい順にするには「-1」を入力。
- 最後の[並べ替え基準]は通常省略でよい
引数が4つと多いですが、最後の[並べ替え基準]は通常無視すれば良いので、実質3つの指定ですね。
元の表をいじらずに、別の箇所に並べ替え結果を表示したい場合に便利です。
ただ、他のPCでも使用することがあるファイルの場合は後方互換を考える必要があります。
列基準でも並べ替えできるのはすごいにゃ!