6/25/2025

Excel。複数列の表をまとめて、重複を除いて並べ替えた表を、つくるにはこの関数たちが便利です。

Excel。複数列の表をまとめて、重複を除いて並べ替えた表を、つくるにはこの関数たちが便利です。

<SORT+UNIQUE+VSTACK関数>

氏名が入力されている3つの表があります。


A・C・E列に氏名のデータを、G列の1列にまとめるとしたら、どのようにしますか。


コピペするのも悪くはありません。


ただし、データ量が増えれば増えるほど、面倒です。


データを1列にまとめるならば、VSTACK関数がおすすめです。


G2に次の数式を設定します。

複数列の表をまとめて、重複を除き、さらに並べ替えた表

=VSTACK(A2:A5,C2:C5,E2:E5)

VSTACK関数は、列結合する関数なので、引数には、結合したい元の列を範囲選択するだけです。


このVSTACK関数は、スピル機能対応の関数なので、オートフィルで数式をコピーは不要です。


簡単に結合することができましたので、重複したデータを除きたいと思います。


重複データを除くには、データタブにある「重複の削除」をつかいたいところですが、スピル機能によって、ゴーストとして表示されています。


データそのものがあるわけではありません。

そのため、データタブの「重複の削除」はつかえません。


ここは、UNIQUE関数をつかうことで、重複データを除くことができます。


数式にUNIQUE関数を追加してみます。


=UNIQUE(VSTACK(A2:A5,C2:C5,E2:E5),FALSE,FALSE)

これで、重複データを除くことができました。


UNIQUE+VSTACK関数のネストです。


修正した数式を確認します。


最初の引数は、配列。範囲なので、VSTACK関数を設定します。


2つ目の引数は、列の比較。FALSEと設定します。

「一意の行」を返すことができます。


3つ目の引数は、回数指定。

FALSEと設定します。

個別のアイテムをすべて返すことができます。


最後に、カタカナなので、五十音順。

つまり昇順にしたいのですが、スピル機能のゴーストである以上、並べ替えをつかうことはできません。


並べ替えの関数であるSORT関数をつかうことで、対応することができます。


数式をさらに修正します。

G2の数式は、SORT+UNIQUE+VSTACK関数のネストになりました。


=SORT(UNIQUE(VSTACK(A2:A5,C2:C5,E2:E5),FALSE,FALSE),1,1,FALSE)


これで、並べ替えを行うことができました。


追加したSORT関数についても確認しておきましょう。


最初の引数は、配列。

範囲選択なので、UNIQUE関数の数式を設定します。


2つ目の引数は、並べ替えインデックス。

何番目の列を基準にするのかということです。

今回は、1列しかありませんので、1と設定します。


3つ目の引数は、並べ替え順序。

1なら昇順で2なら降順です。

五十音順なので1と設定します。


4つ目の引数は、並べ替え基準。

TRUEならば、列で並べ替えすることができますが、行での並べ替えなので、FALSEと設定します。


このように、最近追加された、関数を組み合わせてスピル機能と合わせてつかうことで、並べ替えや重複対応をした表をつくることができるようになりました。