Excel。フィールド(列)を並べ替えた表を手早く別シートにつくりたい。
<SORTBY関数>
並べ替えをおこなうと、行方向で並べ替えをおこなうだけではなく、並べ替えオプションをつかうことで、列方向での並べ替えができます。
今回は、列方向に並べ替えをしたデータを、別シートにコピーなどして作りたいわけです。
しかも、手早く。
今までならば、並べ替えオプションをつかうしか方法がなかったのですが、最近のExcelに追加された関数に、SORTBY関数というのがあります。
この関数、SORTとつくことから、わかるように、並べ替えを行う関数なのですが、レコード(行)方向を対象にしたデータの並べ替えだけでなく、フィールド(列)方向も対象として並べ替えをすることができます。
関数なので、コピーをしなくても、直接別シートに作ることも出来ます。
次の表を用意しました。
この表を基にして、合計の数値を列方向に降順の表をつくってみましょう。
最初に、A列の見出し列を別シートにコピーします。
B1にSORTBY関数をつかった、数式を設定します。
=SORTBY(元データ!B1:E5,元データ!B5:E5,-1)
合計値を降順とした、表を別シートに作ることができました。
あとは、見出し行を中央揃えにして、セルに色を設定すれば完成です。
また、数式は、スピル機能によって、コピーされますので、Ctrl+Shift+Enterの配列関数の処理は不要です。
SORTBY関数の引数を確認しておきましょう。
最初の引数は、「配列」。
対象の範囲のことなので、B1:E5となります。
次の引数は、「基準配列1」。
並べ替えの基準となる範囲のことです。
今回は、合計行の数値で判断するので、B5:E5です。
3つ目の引数は、「並べ替え順序1」。
昇順か降順かの設定をするところです。
昇順なら1。
降順なら-1。
を設定するだけです。
複数条件の場合は、「基準配列2」「並べ替え順序2」を引き続き設定します。
このSORTBY関数をはじめ、最近新しい関数が色々追加されています。
今まで苦労していたものが、新しい関数をつかうことで、作業効率が改善できることを発見できるかもしれませんので、調べてみるのもいいかもしれませんね。