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関数ですが、いずれは、通常の関数として登場してくると思われますが、興味のある方は、確認してみると、色々使えるかもしれませんね。