こんにちは。迷探偵と申します。

今回は表題の通り、Excelで重複無しのデータ数を算出する方法を記載していきます。

おすすめの使い方として、延べ人数はわかっているが、実際に来てくれた人の一意の人数が知りたい時や、ログデータから商品を購入した人の一意な人数が知りたい時など使用できます。

例として今回は「商品」、「売上店舗」、「個数」のデータから重複していない商品の個数を算出していきます。

※ピボットテーブルを用いた方法はExcel2016以降のバージョンで対応可能です。(powerpivotを一部使用するため)

※UNIQUE関数はOffice365(Microsoft365)、及びExcel2021(永続版)で使用可能な関数となります。

ピボットテーブル

こちらのデータを用いて行っていきます。

   

ここから、ピボットテーブルを作成しますが、ここでポイント!

最後のチェックボックス「このデータをデータモデルに追加する」にチェックします。こちらをチェックすることで、ピボットテーブル内で重複なしの個数を算出することが出来ます。

  

   

値フィールドに「重複しない値の数」が追加されています。こちらを選択することで一意のデータの個数を算出します。

   

図1.シンプルなカウントを使用(商品ごとの売上店舗の個数を算出)
図2.重複しない値を使用(商品ごとの売上店舗で重複なしの個数を算出)

図1,図2をご確認いただくと、トマト・人参の重複が無くなり個数が一意の数となっています。

UNIQUE関数

ピボットテーブルを使用しないパターンとして、UNIQUE関数を使用する方法もあります。

=UNIQUE(配列,列の比較,回数指定)

第一引数「配列」

抽出する値が含まれるセル範囲、または配列を指定します。

第二引数「列の比較」

抽出する元データの範囲または配列からユニークの”列”を返したい場合は「TRUE」、ユニークの”行”を返したい場合は「FALSE」を指定します。

第三引数「回数指定」

抽出する元データの範囲または配列で1回だけ出現する値を返す場合は「TRUE」、範囲または配列の重複しないすべての値を返す場合は「FALSE」を指定します。(FALSEは省略可能)

一つの列で範囲指定し、重複を取り除く場合

図3.商品列を重複なし(ユニーク化)

図3のように、第一引数で重複を取り除きたい列を範囲指定することで、重複を取り除くことが出来ます。

複数列範囲指定し、重複を取り除く場合

図4.複数列の重複なし(ユニーク化)

図4のように複数列でユニーク化も可能となります。この場合、商品と売上店舗が同じものの重複をなくしています。ユニーク関数で出力したものをピポットテーブルで商品を行、売り上げ店舗を値に入れ個数(ここでは「重複しない値の数」ではない)を出力すると、「重複しない値の数」と同様の結果になります。(UNIQUE関数で最初に重複をなくしているため)

まとめ

いかがでしたでしょうか?私は取得したいデータに絞り込む時の一つの手段として活用しています。使用していて、痒い所に手が届くのがとても便利です。

是非皆様に活用いただいて、お役に立てれば幸いです。

一覧へ戻る