2/07/2020

Excel。UNIQUE関数が登場。重複してない一意のリストを作るのに大活躍【UNIQUE】

Excel。UNIQUE関数が登場。重複してない一意のリストを作るのに大活躍

<UNIQUE関数>

Office365のExcelで、Office insiderの登録をすると、新しい関数が登録されます。
その中に、【UNIQUE関数】があります。

このUNIQUE関数は、重複を除いたリスト(一意のリスト)を作ることが簡単にできる関数です。

今までのExcelでも、データタブの「重複の削除」をつかうことで、重複を除いて、一意にするボタンをありましたが、データをコピーして実行しないと、元のデータが変更されてしまうなど、処理をするのが面倒でした。

そこで、新たに登場した「UNIQUE関数」をつかうことで、簡単に重複を除いたリストを作ることができます。

次のデータを用意しました。

D2を基準として、氏名が入力されているB列から、重複を除いた一意のリストを作っていきます。

D2に次の数式をつくります。

=UNIQUE(B2:B15)

引数には、範囲選択するだけでOKです。

Office365のExcelで、Office insiderには、『スピル』という機能が追加されたことにより、オートフィルを使用しなくても、数式がコピー(スピル)されました。

このように、とても簡単に算出することができます。

ただ、残念なのは、今回の氏名のようにできれば、五十音順にしたいと考えた場合、スピルの影響で、昇順のボタンをはじめ並び替えを行うことができません。

また、Office365のExcelで、Office insiderで、新しく追加された「SORT関数」を使いたいところですが、フリガナ情報では並び替えを行ってくれません。

当然、数式の算出結果のため、D列の文字には、入力文字のデータは含まれていません。

そこで、どうしても、五十音順にしたい場合には、元のデータを五十音順に並び替えを行っておいてから、UNIQUE関数をつかうといいかと思います。

なんかイマイチのような関数に思えますが、重複の削除ボタンは列内の重複を見つけて処理をしていましたが、UNIQUE関数は、行にも対応しています。

次の表を用意しました。

このような、行内で重複していない一意のリストを作るのは、今までのExcelではなかなか大変でした。

それでは、G4に次の数式を作っていきます。

=UNIQUE(G2:T2,TRUE)

列になっていても、重複を除いた一意のリストを作ることができました。

あまり、氏名というケースは少ないかもしれませんが、アイディアによっては、使えそうですね。

なお、UNIQUE関数は、
UNIQUE(配列,列の比較,回数指定)となっています。

今回は、列の比較を「TRUE」にすることで、列同士を比較してくれます。

引数の回数指定をTRUEにすると、一度しか登場しないものだけをピックアップすることもできます。

B2を「桜木」に変更して、D10に次の数式を作ります。

=UNIQUE(B2:B15,,TRUE)

今回紹介した、UNIQUE関数ですが、いずれは、通常の関数として登場してくると思われますが、興味のある方は、確認してみると、色々使えるかもしれませんね。