メインコンテンツへスキップ
見出し画像

[Excel]UNIQUE関数 「重複の削除」の代わりに使う


    関連記事:データクレンジング


    先の記事「データ集計をどう行うか? 実際の自治体データをもとに考え⑥ 集計表の「枠」を作る」では、「重複の削除」を使って、複数種類のデータが、それぞれ複数入っている列から、一つずつ抜き出す方法をお示しました。

    しかし、この「重複の削除」のアイコンは探しづらいんですよね。
    私は、バージョンが変わって従来とはメニューの並びが違ったため、「重複の削除」が消えてしまったと勘違いしてしまいました。

    その時から、代わりに使い出したのが、UNIQUE関数です。
    UNIQUE(ユニーク)とは「独自」という意味です。
    「おもしろい」という意味ではありません。
    (ユニクロは、ユニーク・クローズの略ですね。商品自体は、独特というより、定番という気もしますが・・・。余談でした。)

    今回はUNIQUE関数の使い方をお示しします。
    Microsoftサポートによると、
    「UNIQUE 関数は、一覧または範囲内の一意の値の一覧を返します。」とあります。「返す」とは「表示する」ということです。
    「一意の値」ってあたりが、直観的ではないですよね。
    冒頭「複数種類のデータが、それぞれ複数入っている列から、一つずつ抜き出す」と書きましたが、やっぱりわかりづらい。
    自動車メーカーの販売台数でなく、何種類の車種があるか、みたいな感じでしょうか。

    前回同様、茨城県のデータを使います。

    新しいシートを作り、どこかのセルに
    =U と入れると、下に関数の候補が出ます。
    ↓  で UNIQUEを選び、Tabで確定します(Enterだとエラーになります。)。

    画像
    Uから始まる関数が出るので、↓で選んで、Tabで確定

    =uniq と入れると、UNIQUEしか選択肢が出てこないので、この場合はそのままTabで確定します。
    (私は、=uniq と5文字も入れるのは面倒なので、上の方法で入れています。)

    画像
    =uniq まで入れると候補はUNIQUEしかでないので、Tabで確定

    =UNIQIUE( とセル内に表示されるので、その下に入力すべきデータの説明として「配列…」と出ます。[列の比較][回数指定]のように[]が付いているものは、省略可能です。今回も書略します。)

    画像

    配列、とあるように、ここには列を入れます。
    ここに入れた列のデータの中で、重複するものを一つだけ取り出す、という計算式です。

    今回は「DATA」シートのH列「営業の種類」を選びます。
    行範囲の指定は不要です。
    列全体(Hの部分をクリック)を選べば足ります。

    画像
    H列を選択すると、数式バーに=UNIQUE(DATA!H:Hと出ます

    これで Enter を押せば終了です。
    下のように、H列のデータから、重複するものが一つずつ取り出されます。

    画像

    数式が入っているのは、一番上のB2セルだけです。↓↓↓

    画像

    B3セルより下には数式は入っていません。

    画像

    B3セルより下には計算式は入っていません。
    でも、B3セルより下にもB2セルの計算式が反映されています。
    これは「スピル」という機能のよるものです。
    エクセルの新しい関数では、この機能が働きます。
    ここでは詳細説明は省きます。
    「そういう関数もあるんだ」位の理解で構いません。

    なお、B2セルには「0」と出ています。

    画像

    これは、「DATA」シートのH列全体を範囲指定したことにより、空欄(データが入っていない行)まで対象となっているです。
    空欄は、このように「0」として表示されます。

    列の指定を
    =UNIQUE(DATA!H:H)ではなく、
    データが入っている範囲だけ、つまり、
    =UNIQUE(DATA!H1:H1027)にすれば・・・

    画像

    空白セルが入らないので、0は出ません。

    画像

    でも、わざわざ、データの一番下まで範囲指定するのは面倒です。
    私はいつも列のみ指定しています。
    その上で、「0」以外の部分をコピーして表頭として使っています。
    前記事では、縦一列の項目を横一列にコピーして、使っています。
    詳細は、前記事「データ集計をどう行うか? 実際の自治体データをもとに考え⑥ 集計表の「枠」を作る」をご覧ください

    「重複の削除」も「UNIQUE関数」も、結果は同じになりますが、

    「重複の削除」を使うと(縦の項目を横にする操作は省略)
    ①新シートに、元データの列をコピー
    ②「重複の削除」アイコンを探す・・・これが見つからない!
    ③「OK」で終了。

    これが、UNIQUE関数だと、
    ①新シートの適当な場所に =UNIQUE関数を入れる。
    ②関数に対象列を入れる。
    ③表示されたデータを範囲指定し別のところに「値のみコピー」

    どちらが早いかは「慣れ」次第でしょうか。
    「重複の削除」をよく使う人は①を、
    「重複の削除」という、あまり使わないアイコンを探して「イライラ」するよりは、②の方が楽かもしれません。

    なお、「重複の削除」と「UNIQUE関数」では、大きく異なる部分があります。
    重複の削除:一度処理すれば、元のデータに変更があっても、結果は変わらない。
    UNIQUE関数:計算式を入れれば、元のデータに変更があれば、結果は自動で反映される。

    例えば、「許可の種類」のH列に、新たに「キャンプ施設」というものが加わった場合(仮の話です)、「重複の削除」では、一連の操作を再度行わないと「キャンプ施設」は出てきません。
    それに対し、「UNIQUE関数」は自動で「キャンプ施設」も出てきます。
    (「値のみコピー」してしまえば、コピー後のデータは変わりません。)
    そのため、データの種類が追加される可能性がある場合は、UNIQUE関数を使って集計した方がいいでしょう。詳細はいずれまた説明したいと思います

    以上、お役にたてば幸いです。





    あなたへのおすすめ