Excel。複数の表を1つにまとめて、さらに並べ替えも手早く処理したい
<SORT+VSTACK関数>
3つの地域の売上表があります。
A1:D4には、関東地区。
F1:I3には、関西地区。
そして、K1:N3には、九州地区の販売データがあります。
これを、A6から起点とする表に転記し、結合。
要するに、合体させます。
ただ、合体するのではなく、販売金額を降順で並べ替えした表にしたい。
コピペで貼り付けて、その後並べ替えするのでもいいのですが、少し面倒です。
また、Excel VBAでプログラム文をつくるというのも、面倒です。
そこで、今回は、SORT関数とVSTACK関数を組み合わせた数式で対応しようと思います。
A7をクリックします。
次の数式を設定します。
=SORT(VSTACK(A2:D4,F2:I3,K2:N3),4,-1,FALSE)
数式を確定して確認します。
表がまとまっただけでなく、販売金額が降順で並べ替えも終わっています。
では、数式を確認します。
SORT関数は、並べ替えをする関数です。
最初の引数は、「配列」。
範囲です。
この範囲は、合体したデータなので、それぞれの表を合体させるのがVSTACK関数です。
VSTACK関数の説明は後述します。
先に、SORT関数の確認を続けます。
SORT関数の2つ目の引数は、「並べ替えインデックス」。
どの列を並べ替えの条件とするかということです。
左から4番目の販売金額で並べ替えをしますので、4と設定します。
3つ目の引数は、「順序」。
昇順で並べ替えならば、1。
降順で並べ替えならば、-1を設定します。
降順で並べ替えをしたいので-1と設定します。
4つ目の引数は、「方向」。
列方向で並べ替えをするならば、TRUE。
行方向で並べ替えをするならば、FALSEと設定します。
今回は、行方向で並べ替えをしますので、FALSE と設定します。
これで、並べ替えを行うことができます。
最初の引数で使用するVSTACK関数ですが、これは、合体したいデータを設定するだけなので、見出し行をのぞいた、それぞれの地域
関東のA2:D4
関西のF2:I3
九州のK2:N3
を設定するだけです。
VSTACK関数は、指定した範囲を結合する関数です。
なお、このVSTACK関数は、便利な関数ですが、Microsoft365など、比較的新しいバージョンに登録されていますので、ご注意ください。