Home
»
エクセル練習問題:目次
»
重複するデータをカウントする/集計をする
重複するデータをカウントする/集計をする:エクセル練習問題
更新:2025/9/16;作成:2015/4/24
重複しているデータから重複していない品名の数をカウントしたり、重複していない品名を書き出して、それらの出現回数を求めます。
また、各品名の数量の合計数を計算します。
各例題ではExcel for Microsoft365 の最新の関数や機能で求める方法や、従来の関数で求める方法を書いています。
お使いのExcelのバージョンで利用できる方法をお選びください。
問題
topへ
問題1:重複しない品名の個数を求めなさい
問題1の解答
問題2:重複しない品名を書き出して各品名の個数を合計しなさい
問題2の解答
問題3:重複しない品名を書き出して各品名の個数をカウントしなさい
問題3の解答
B
C
2
品名
個数
3
りんご
44
4
バナナ
75
5
みかん
12
6
りんご
89
7
バナナ
53
8
りんご
62
9
みかん
50
10
スイカ
16
11
みかん
66
12
りんご
44
13
バナナ
19
14
りんご
14
15
みかん
44
問題1の解答例
topへ
問題1:重複しない品名の個数を求めなさい
問題1の解答 4
UNIQUE関数を使う方法
数式(計算式)で求める方法
作業列を使う方法
UNIQUE関数を使う方法
Excel for Microsoft365、Excel2021ではUNIQUE関数が使えます。
UNIQUE関数の詳細な使い方は
UNIQUE関数で重複しない値を取り出す
をご覧ください。
=UNIQUE(B3:B15)
で重複しない品名を取り出すことができます。
UNIQUE関数で取り出した品名は文字列なのでCOUNT関数ではなく、COUNTA関数で数えます。
E3セルに
=COUNTA(
UNIQUE(B3:B15)
)
と入力します。
数式(計算式)で求める方法
重複しない品名の個数は、数式
=SUMPRODUCT(
1/
COUNTIF(B3:B15,B3:B15)
)
で求めることができます。
動的配列が使える、Excel for Microsoft365、Excel2021以降のバージョンでは
=SUM(
1/
COUNTIF(B3:B15,B3:B15)
)
で求めることができます。
Excel2019以前のバージョンではでは[Ctrl]+[Shift]+[Enter]で入力する必要があります。
なお、Microsoftは「動的配列数式とスピル配列の動作」で以下のようなコメントを出しています。
「
CTRL+SHIFT+ENTER
(CSE) を介して入力されたレガシ配列数式は、下位互換の理由で引き続きサポートされていますが、今後は使用しないでください。」
重複しているデータを1件とカウントする数式の解説
ここではスピル(Spill,動的配列)が利用できる環境(Excel for Microsoft365)で説明しています。
数式 =SUMPRODUCT(1/
COUNTIF(B3:B15,B3:B15)
) の
COUNTIF(B3:B15,B3:B15)
部分の計算結果は
下図のように、{5;3;4;5;3;5;4;1;4;5;3;5;4} となるのがわかります。
各品名の出現回数を計算しているのがわかります。
「りんご」は5個あるので、5が5回出てきます。
「バナナ」は3個あるので、3が3回出てきます。
「みかん」は4個あるので、4が4回出てきます。
「スイカ」は1個あるので、1が1回出てきます。
りんごなら、1/5 という逆数にして5回足せば1/5+1/5+1/5+/1/5+1/5=1、
バナナなら 1/3+1/3+1/3=1 ということになり、1種類を1とカウントすることができます。
1/
COUNTIF(B3:B15,B3:B15))
とすることで逆数が得られます。
下図のように{1/5;1/3;1/4;1/5;1/3;1/5;1/4;1/1;1/4;1/5;1/3;1/5;1/4} といった逆数の配列になっています。
SUMPRODUCT関数でこれらの和を計算しています。
結果は 4 となります。
作業列を使う方法
D列を作業列として利用します。
D3セルに
=COUNTIF(
$B$3:B3
,B3)
と入力して、同じ品名の個数を上のセルに何個あるのかをカウントします。
求める個数(重複しない品名の個数)は作業列で 1 となっているセルの個数をカウントすればよいので
=COUNTIF(
D3:D15
,1)
で求めることができます。
問題2の解答例
topへ
問題2:重複しない品名を書き出して各品名の個数を合計しなさい
解答
品名
個数
りんご
253
バナナ
147
みかん
172
スイカ
16
GROUPBY関数を使う方法
Excel for Microsoft365ではGROUPBY関数が使えます。
GROUPBY関数の詳しい使い方は
GROUPBY関数を使って集計する
をご覧ください。
E3セルに
=GROUPBY(
B2:B15
,
C2:C15
,SUM)
と入力しています。
UNIQUE関数を使う方法
Excel for Microsoft365、Excel2021以降のバージョンではUNIQUE関数やSpill(スピル)機能が使えます。
UNIQUE関数の詳細な使い方は
UNIQUE関数で重複しない値を取り出す
をご覧ください。
E3セルに
=UNIQUE(
B3:B15
)
と入力して、重複のない品名を取り出します。
F3セルに
=SUMIF(
B3:B15
,E3#,
C3:C15
)
と入力します。
E3# の #はスピル範囲演算子と呼ばれるものです。スピル範囲の全体を参照することができます。
問題3の解答例
topへ
問題3:重複しない品名を書き出して各品名の個数をカウントしなさい
解答:下図のように、りんご 5、バナナ 3、みかん 4、スイカ 1 となります。
GROUPBY関数を使う方法
UNIQUE関数を使う方法
重複の削除と数式を使う方法
ピボットテーブルを利用する
統合を利用する
GROUPBY関数を使う方法
Excel for Microsoft365ではGROUPBY関数が使えます。
GROUPBY関数の詳しい使い方は
GROUPBY関数を使って集計する
をご覧ください。
E3セルに
=GROUPBY(
B2:B15
,
C2:C15
,COUNTA)
と入力しています。
UNIQUE関数を使う方法
Excel for Microsoft365、Excel2021ではUNIQUE関数やSpill(スピル)機能が使えます。
UNIQUE関数の詳細な使い方は
UNIQUE関数で重複しない値を取り出す
をご覧ください。
E3セルに
=UNIQUE(B3:B15)
と入力して、重複のない品名を取り出します。
F3セルに
=COUNTIF(
B3:B15
,
E3#
)
と入力します。
E3#
の
#
は
スピル範囲演算子
と呼ばれるものです。スピル範囲の全体を参照することができます。
重複の削除と数式を使う方法
重複しない品名を書き出すには、重複データの削除を利用すると簡単です。
品名をコピーして、E列に貼り付けます。
B3:B15セルを選択して、[Ctrl]+[C]でコピーし、E3セルを選択して[Ctrl]+[V]で貼り付けます。
もしくは、B3:B15セルを選択して、[Ctrl]キーを押した状態で、E3セルの位置へドラッグしてコピーします。
[データ]タブの[重複の削除]を実行します。
重複の削除に関する警告が表示されました。
選択しているセル範囲E3:E15の上のセルE2が入力済みなので、隣接するセルを含むように拡張しますか?という問い合わせになります。
ここでは、必要ないので、「現在選択されている範囲を並べ替える」にチェックを入れ、[重複の削除]ボタンをクリックします。
重複の削除ダイアログボックスで[OK]ボタンをクリックします。
重複した品名が削除され、一意の値が残っています。[OK]ボタンをクリックします。
Excel for Microsoft365、Excel2021以降のバージョンではspill(スピル)機能が使えます。
F3セルに
=COUNTIF(
B3:B15
,
E3:E6
)
と入力します。
Excel2019以前のバージョンでは
F3セルに
=COUNTIF($B$3:$B$15,E3)
と入力して、オートフィルなどで数式を下方向へコピーします。
ピボットテーブルを利用することもできます
データリスト内のセルを選択します。
[挿入]タブの[ピボットテーブル]を実行します。
テーブル/範囲がデータリストの範囲と一致しているのを確認します。
ピボットテーブルのフィールドリストで、フィールドの「品名」を行ラベルと値にドラッグして配置します。
ピボットテーブルで各品名の個数が計算されました。
統合を利用することもできます
計算結果を表示するセル E2セルを選択します。
[データ]タブのテータツールグループにある[統合]をクリックします。
集計の方法を「個数」にします。
統合元範囲内をクリックして、シートの B2:C15 を選択します。
[追加]ボタンをクリックします。
すると、統合元に Sheet2!$B$2:$C$15 が登録されます。
統合の基準で 「上端行」「左端列」にチェックを入れます。
[OK]ボタンをクリックします。
計算結果が表示されました。
Home
|
エクセル練習問題:目次
|重複するデータをカウントする/集計をする
PageViewCounter
Since2006/2/27