この記事では、GoogleスプレッドシートのUNIQUE関数の使い方ぶついて説明をします。UNIQUE関数を使うことで、QUERY関数をより有用に使うことが出来るようになります。UNIQUE関数の使い方自体はシンプルなので、とても覚えやすいと思います。
QUERY関数のDISTINCTが実装されていない問題も、UNIQUE関数を組み合わせることで解決できます。
- UNIQUE関数の基本的な使い方
- 複数列に対するUNIQUE関数の使い方
- QUERY関数と組み合わせて使う方法
QUERY関数って何?という方は、こちらの記事もご覧ください。
UNIQUE関数とは
UNIQUE関数は(ユニーク関数)は、指定した範囲のデータから一意のデータ、つまりは重複のない状態のデータを出力する関数です。書き方はとてもシンプルです。
=UNIQUE(表内のデータ範囲)
具体的な例を見てみると、下のような表データの「キャンペーン名」の重複なしのリストを作成することが出来ます。
=UNIQUE(B2:B13)
複数列に対するUNIQUE関数
UNIQUE関数は1つの列(データ項目)に対してだけでなく、複数の列を指定することが出来ます。複数列の範囲を指定することで、組み合わせの重複も排除することができます。
=UNIQUE(A2:B13)
UNIQUE関数の応用(QUERY関数との組み合わせ)
UNIQUE関数の基本的な使い方は、表データ内の範囲を指定する形を取りますが、QUERY関数で出力した結果を対象とし、そのデータから重複を排除するということも可能です。
なおQUERY関数って何?という方は以下の記事もご参照ください。QUERY関数が使えるようになるとスプレッドシートの用途が更に広がってきます。
いつも使っているサンプル表を使って、1日の広告料金が7000円を超えたことがある、ユニークなキャンペーン名の抽出を行ってみましょう。
他のデータベースでSQLを使っている人であれば、DISTINCT使えば解決!ということで
と書きたくなってしまいますが、スプレッドシートのQUERY関数ではDISTINCTは実装されていないのです。
その代わりに表計算の強みである関数の組み合わせを使うことで解決できます。
ここでは、QUERY関数の結果にたいし、UNIQUE関数を使うことで、最初の条件である「 1日の広告料金が7000円を超えたことがある、ユニークなキャンペーン名の抽出」が可能となります。
これで解決!と思いたいのですが、残念ながら出力結果に「列名」(ここでは、キャンペーン名)が含まれてしまっています。
列名が含まれてしまうと、ユニークな数を数えたい時に列名のデータが含まれてしまうため、列名を消した状態で出力させたほうが良さそうです。
列名を指定する「label句」で列名を空白に指定すると、列名表示がされなくなります。
これで、QUERY関数とUNIQUE関数を組み合わせて、条件指定付きのユニーク値を出力することが出来るようになりました。
シンプルだったUNIQUE関数の使い方が、急に複雑化した感じもありますが、この使い方をマスターすることが出来れば、QUERY関数の使いみちは更に広がってきます。
より本格的に、Spreadsheetを学びたいという方は、Udemyのオンライン学習がオススメです。
登録直後であれば、受講料が80%オフになりますし、その期間が過ぎてしまっても、月に1-2回ほど大規模なセールも行われ、技術書よりも安い2000円前後で受講ができたりします。
QUERY関数については、他の記事もありますのでお役に立ちそうな内容があれば、合わせてごらんください!