MOS365の出題範囲が発表になり、Excelの科目では新たにUNIQUE関数が出題範囲に入ることになりました。UNIQUE関数は重複データを削除したデータを求める画期的な関数です。
しかしできたばかりの関数ということもあり、この強力さの割には情報が少なく、書籍にも数冊で扱われるくらいで、MOS試験の勉強のために学習しようとしても勉強できる機会が少ない関数です。
今回はUNIQUE関数を、MOSとしてどのくらいのレベルで出題されるかを予想しながら、MOSのコンセプトに合わせたレベルで深堀しすぎずに解説して行きます。
UNIQUE関数はExcelが新しくスピル機能を搭載したので使えるようになった関数ですが、MOSとしてはスピルに触れていないため、スピルは抜きにしてわかりやすい解説をします。
UNIQUE関数とは
「ユニーク」というと日本語としては「面白い」とか「面白い人」のことを多く差すと思いますが、英語の意味の「UNIQUE」は「特別な」とか「他にはない」とか「唯一の」といったニュアンスがあります。ということでわかってくるのは、「2つの同じデータがないようにする」つまり「重複の削除」という意味になります。
「重複の削除」であれば従来、Excelの起動でもありましたし、ピボットテーブルを使うなどで重複データをなくすことができました。では、なぜ重複の削除関数をわざわざ作るのでしょうか。重複の削除機能やピボットテーブルでもそうなのですが、元のデータが変更になったら、もう一度操作するか、更新の作業をするかが必要になり、それをし忘れると間違ったデータで処理されてしまいます。UNIQUE関数は計算式なので再計算機能により元のデータが変更になったらすぐに結果に反映されるということになります。つまりデータ変更後のもう一度操作し忘れということを防ぐことができます。
勘違いしやすいのですが、UNIQUE関数は、元の値を変更しません。数式なので結果を他のセルに求めるだけです。つまりセルA1からA10に入力されている範囲に「A社」「B社」「C社」の3種類が入っていたとして、重複の削除機能であればA1からA3に「A社」「B社」「C社」が入ってA4からA10までは空白セルになりますが、UNIQUE関数でA1からA10のセル範囲のデータから重複したデータを、例えばセルC1からの範囲に求めるということになり、元のA1からA10には重複しているデータがある状態です。
要は計算式なので、計算元の範囲を計算式の中に入れられない、ということになりますね。
UNIQUE関数の書式は次の通りです。
=UNIQUE(範囲)
もう本当に簡単で、範囲を指定するだけになります。
もしもセルA2からA10の範囲の重複を削除した一覧をセルC2に求めるならば、次の計算式になります。
=UNIQUE(A2:A10)
簡単ですよね。
でもちょっと「重複」ということを考えてみると、重複の削除は1列だけなのかな、と思えてきます。
なので、こんな実験をしてみましょう。セル範囲に以上の5商店がランダムに入っていたとして重複の削除が行われたらどうなるでしょうか。
=UNIQUE(A2:B10)
重複の削除は行われませんでした。UNIQUE関数は1行ごとを見て、同じものがないか判定するのですね。
なので、こんな使い方ができるのです。同じところに同じ商品を売っているのは重複なのでそれを削除したいというとき。
=UNIQUE(A2:B10)
二重登録を防ぐという意味ですね。実際には二重登録なのかは確認しないとわかりませんが。
重複したものを消すのではなく、1回しか出てこないものを出すのが次のように「,,TRUE」を追加します。
=UNIQUE(A2:A10,,TRUE)
UNIQUE関数の予想問題文
MOSとしては、テーブルの活用をよりするような問題に変わってきているので、テーブル内の列の重複を削除したものを他のセルに出力するという問題が考えられます。
また、新しい関数であることからそれほど難しい使い方はないと思います。「,,TRUE」の方法は出題されるかもしれないのでそれは暗記ですが、ほぼ、問題文をヒントにしながら解答できると思います。
- セルE2からの範囲に、販売内容一覧テーブルから販売商品の重複が削除された一覧を表示するような関数を作成してください。
=UNIQUE(販売内容[販売商品])
問題文には「重複の削除」という言葉が入っているか、もし入っているとすれば大きなヒントになりかねないので、「販売商品の一覧表を作成してください」くらいの文章になるかもしれません。でもその問題文だと複数の意味になりそうですね。
- 販売内容テーブルの重複を削除する関数をセルE2に求めて下さい。
=UNIQUE(販売内容)
このパターンもあるかもしれないです。
- 販売一覧から関数を使って1回しか販売していない日をセルE2に求めてください。
一回しかないものはこうやって使うのかもしれませんね。普通に考えたらCOUNTIF関数で数えて1カウントのものを出すということになりますが、これで一発で出せるのは便利かもしれません。でもCOUNTIF関数を使った方法がおそらく別解としてありそうなので、この出題はないかもしれません(出題範囲ですが、FILTER関数とCOUNTIF関数の組み合わせでできました)。
ちょっと可能性としては薄いのですが、この出題もあり得ます。
- テーブル販売内容の重複を削除し日付の昇順で並べ替えた結果を求める数式を関数を使って、セルE2に求めて下さい。
=SORT(UNIQUE(販売内容))
SORT関数との組み合わせで、関数の中に関数が入る問題です。
ただ「=UNIQUE(SORT(販売内容))」でも要件は満たしてくれるという複数の解答方法がある問題になるので、出題されるとしても、問題文が工夫されていると思います。
UNIQUE関数が出題される試験
SORT関数が出題されるのはMOS365ExcelAssociate(一般)です。MOS365ExcelExpert(上級)では出題範囲に入っていません。またMOS365以前のバージョンでも当然出題されません。
まとめ
重複の値を削除する「UNIQUE関数」について解説しました。
やはり関数という計算式で重複が削除されるのは強力ではありますが、元の表は存在してしまうので、もしかするとデータベース的な使い方をしているのであれば余計な重複データは削除できないので、それ以外の使い方がいいのかなと思っています。私はちょっとした方法を使ってデータベースのメンテナンスにも使っていますが。
UNIQUE関数はスピルを使った関数なので、テーブル内での計算式には使えませんが。テーブルを参照した計算式は作れるということも、じっくり考えて意識しておきましょう。
関連リンク
MOS公式サイトのMOS365ページ
エクセルの神髄様UNIQUE関数解説(正しいUNIQUE関数の解説です)
MicrosoftのUNIQUE関数の解説
コメント