売上明細を売上金額順に並べ替える(SORTBY関数)
売上明細があるときに、売上金額順に並び替えたいと思います。
もちろん、メニューから「データ」→「並べ替え」を使えば、並べ替えられるのですが、今回は、関数を使って、別のセルに並べ替えた結果を表示してみます。
SORTBY関数を使って並び替える
今回は、Microsoft365で導入されたSORTBY関数を使って並べ替えをします。
E2セルに、次の数式を入力すると、金額(B列)が大きい順に並べ替えることができます。
=SORTBY(A2:C5,B2:B5,-1)
この関数を入力すると、数式を入力したセルだけでなく、その下や右のセルにも値が自動的に入力されます。
ですから、数式をコピー・貼り付けしないでも、E2セルに数式を入力するだけでE2~G5セルに、数式の計算結果が表示されます。
このように、数式を入力したセルの下や右のセルにも値が自動的に入力されることを「スピル」と呼びます。
数式の意味
この数式は、次のような意味があります。
引数 | 内容 | 意味 |
---|---|---|
1つめの引数 | A2:C5 | 並べ替えて表示する元データを指定します |
2つめの引数 | B2:B5 | 表示順を決める基準となるセル(列)を指定します |
3つめの引数 | -1 | 並び順を指定します(1: 昇順、-1:降順) |
要するに、「A2:C5」セルのデータの各行を「B2:B5」セルの「大きい順」に並べ変わるということです。
注意点
SORTBY関数を使うときには、次の点に注意しましょう。
余分な行を指定すると「0」が表示される
元データの件数が変わることに備えて、余分に行数を選択すると空行に相当する部分には「0」が表示されます。
これを防ぐためには、数式の末尾に「&""」を付けるのが簡単です。ただし、今回、その方法を使うと、F列の金額が文字列として表示されてしまいます。F列を数値として扱いたいときには、この方法は使えません。
結局、余分な行を指定することは難しいと考えておいたほうがいいでしょう。