UNIQUE関数で複数列から重複を削除する方法|離れた範囲も

ここでは、エクセルの「UNIQUE関数で複数列から重複を削除したユニーク(唯一)な値を取り出す」方法を解説します。

 

隣り合わせの列はもちろん、離れた範囲でも抽出できる方法の説明です。

1.まずはやりたいことを確認

まずはやりたいことを、例を見てみましょう。

 

1-1.UNIQUE関数で複数列から抽出したい

やりたいことは、「UNIQUE関数で重複なしの値を複数列から抽出する」です。

 

エクセルの場合、UNIQUE関数単体では複数列から抽出することができません。

 

そこで、関数を組み合わせて実現します。

 

1-2.例を確認

一つ例を見てみましょう。

上の例では、A列とC列に値が入っています。

 

この2つの列から「重複を除いた値」を抽出してみます。

2つの列から重複を除いた値を抜き出せます。

 

また、2つの列から重複なしの値のみも抽出できます。

以上2つのやり方の解説をします。

2.重複を除いた値を抽出する

始めに、「UNIQUE関数で『重複を除いた値』を抽出する方法」からです。

 

2-1.数式の形

数式の形は、次の通りです。

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,範囲1,範囲2)&"</b></a>","//b"))

数式は長いですが、引数は「範囲1」と「範囲2」の2」つです。

※ 指定したい範囲が2つの場合

 

2-2.引数の指定の仕方

引数は同じ「範囲」なので、簡単です。

 

それぞれ「重複を削除したい範囲を1列」指定します。

 

注意するのは「1列」という点だけで、行の範囲が異なっても大丈夫です。

 

2-3.数式の作り方

数式の使い方を確認します。

E列に、A列とC列の「重複を除いた値」を抽出します。

 

以下手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,範囲1,範囲2)&"</b></a>","//b"))

 

(2)「範囲1」の文字を消し、一つ目の範囲を指定する

 

(3)「範囲2」の文字を消し、二つ目の範囲を指定する

 

(4)Enterキーを押せば完了

セルE1に入れた数式は、次の通りです。

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,A1:A5,C1:C4)&"</b></a>","//b"))

3.重複のない値のみを取り出す

続いて、「UNIQUE関数で『重複のない値のみを取り出す方法」です。

 

3-1.数式の形

数式の形は、次の通りです。

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,範囲1,範囲2)&"</b></a>","//b"),,TRUE)

やはり引数は「範囲1」と「範囲2」の2つですが、数式の最後に「,,TRUE」が足されているのがポイントです。

 

3-2.数式の作り方

引数の入れ方は同じなので省略して、数式の作り方を確認します。

E列に、A列とC列の「重複のない値のみ」を抽出します。

 

以下手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,範囲1,範囲2)&"</b></a>","//b"),,TRUE)

 

(2)「範囲1」の文字を消し、一つ目の範囲を指定する

 

(3)「範囲2」の文字を消し、二つ目の範囲を指定する

 

(4)Enterキーを押せば完了

セルE1に入れた数式は、次の通りです。

=UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,A1:A5,C1:C4)&"</b></a>","//b"),,TRUE)

 

以上、参考になれば幸いです。


口コミ・評判のいいExcel本の紹介】


UNIQUE関数に関連したページは、次の通りです。

  • UNIQUE関数 使いこなすためのポイントはこちら

Top