4/11/2025

Excel。複数の表を1つにまとめて、さらに並べ替えも手早く処理したい【Combine tables】

Excel。複数の表を1つにまとめて、さらに並べ替えも手早く処理したい

<SORT+VSTACK関数>

3つの地域の売上表があります。

複数の表を1つにまとめて、さらに並べ替えも手早く処理したい
 

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など、比較的新しいバージョンに登録されていますので、ご注意ください。