Excel 重複除外してカウントする方法(重複データは1件として数える)

2025年5月4日

English version.

はじめに

Excelで顧客リストやアンケート結果などを集計している時、「同じ名前や回答が何度も出てくるけれど、結局、実際の人数や種類はいくつだろう?」と迷った経験はありませんか。

例えば、イベントの参加者リストで同じ人が複数回申し込んでいたり、アンケートで同じ選択肢が何度も選ばれていたりする場面です。

単純にCOUNTA関数などでセルの数を数えただけでは、こうした重複もすべてカウントされてしまい、「本当の参加者数」や「回答の種類」を正確に把握することができません。正確な数が分からないと、報告や分析の際に困ってしまいます。

この記事では、そんなお悩みを解決するため、Excelで重複しているデータを除外し、それぞれを「1件」として正しくカウントする方法を解説します。初心者の方でもすぐに試せる簡単な方法を3つ、図解付きで分かりやすくご紹介しますので、ご安心ください。

この記事でわかること

·  Excelで重複データを除外して正確に件数を数える方法

·  Excel初心者でも簡単にできる3つの具体的なカウント方法

·  それぞれの方法のメリット・デメリットと、状況に応じた使い分け

重複除外が必要な理由

例えば次のような場面で役立ちます:

  • 売上データから「取引先が何社あるか」を知りたい
  • アンケート回答から「回答が何種類あったか」を確認したい
  • 顧客リストから「顧客が何人(または何社)いるか」を把握したい

普通に数えると重複も含めてカウントされてしまうため、正確な集計ができません。

サンプルデータ

今回は下記のようなデータを例にして説明します。見ての通り、15件ありますが実際には5つの値(りんご、バナナ、みかん、いちご、メロン)が3回ずつ重複しています。

5つの値(りんご、バナナ、みかん、いちご、メロン)が3回ずつ重複しているデータ

では、この重複データを1件として数える方法を見ていきましょう。

方法1: データの重複を削除してからカウントする

初心者の方には最も分かりやすい方法です。Excelの機能を使って、まず重複を削除してから数えます。

手順

元のデータを変更しないために、シート見出しを右クリックして「移動またはコピー」を選択し、「コピーを作成する」にチェックを入れて新しいシートを作成します。

シートを右クリックして「コピー」を選び、新しいシートを作成

コピーしたシートで、カウントしたい列(今回はA列)を選択し、リボンメニューの「データ」タブをクリックし、「データツール」グループにある「重複の削除」をクリックします。

カウントしたい列(今回はA列)を選択し、リボンメニューの「データ」タブをクリックし、「データツール」グループにある「重複の削除」をクリック

表示されたウィンドウで、データ範囲に見出しが含まれる場合は「先頭行をデータの見出しとして使用する」にチェックを入れ、含まれない場合はチェックを外して「OK」をクリックします。(今回は見出しがないためチェックを外します)

示されたウィンドウで「先頭行をデータの見出しとして使用する」のチェックを確認

重複が削除され、一意の値のみが残ります (今回の例では5行)。実行後、「XX個の重複する値が見つかり、削除されました。YY個の一意な値が残ります」というメッセージが表示され、重複を除いた件数を確認できます。

重複削除結果

メリット・デメリット

メリット

  • Excel関数を知らなくても簡単にできる: メニューから選んでクリックするだけなので、関数に慣れていない方でも直感的に操作できます。
  • 視覚的に結果を確認できる:重複データが実際に削除され、ユニークなデータだけが残るため、結果を目で見てすぐに確認できます。

デメリット

  • データが変わるたびに毎回操作が必要: 元のリストにデータが追加されたり変更されたりした場合、再度「重複の削除」の操作を行わないと、最新の結果が得られません。
  • 元のデータが変更される: この機能は選択した範囲のデータを直接変更(削除)してしまうため、必ずシートをコピーしてから作業するようにしましょう。

方法2: UNIQUE関数とCOUNTA関数を使う方法

Excel 2019以降やMicrosoft 365をお使いの方は、UNIQUE関数COUNTA関数を組み合わせる方法がおすすめです。

  • UNIQUE関数:指定した範囲から重複を除いた、一意の値のリストを返す関数
  • COUNTA関数:空白でないセルの個数を数える関数

数式

今回の例ではC1セルに以下の数式を入力します。

=COUNTA(UNIQUE(A1:A15))

「5」という結果が表示されます。これは重複を除いた実際の果物の種類数です。

UNIQUE関数とCOUNTA関数を使用した数式の結果
=COUNTA(UNIQUE(A1:A15))

メリット・デメリット

メリット

  • データが変わっても自動的に再計算される: 関数(数式)を使っているため、参照している元のデータが変更されると、計算結果も自動で更新されて便利です。
  • シートを変えずに結果だけを表示できる: 元のデータリストはそのままで、別のセルに重複を除いた件数だけを表示させることができます。

デメリット

  • Excel 2019より前のバージョンでは使えない: UNIQUE関数は比較的新しい機能のため、Excel 2019、Microsoft 365、Excel for the web など、特定のバージョンでのみ利用可能です。
  • 関数の知識が少し必要: UNIQUE関数とCOUNTA関数の意味や使い方を理解する必要がありますが、一度覚えてしまえば非常に便利です。

方法3: SUMPRODUCT関数とCOUNTIF関数を使う方法

UNIQUE関数が利用できないExcelのバージョン (Excel 2019より前) をお使いの場合は、この方法が有効です。SUMPRODUCT関数COUNTIF関数を使用します。

  • COUNTIF関数:条件に一致するセルの個数を数える関数
  • SUMPRODUCT関数:配列の要素同士の積の合計を計算する関数

【補足】配列とは?

少し難しい言葉ですが、ここでは「複数のデータ(数値や文字など)が順番に並んだ、ひとかたまりのリスト」のようなものと考えてください。UNIQUE関数や、この後のSUMPRODUCT関数などが内部でこの「配列」を扱って計算しています。

数式

今回の例ではC1セルに以下の数式を入力します。

=SUMPRODUCT(1/COUNTIF(A1:A15,A1:A15))

数式の結果。
=SUMPRODUCT(1/COUNTIF(A1:A15,A1:A15))

メリット・デメリット

メリット

  • 古いバージョンのExcelでも使用可能: SUMPRODUCT関数とCOUNTIF関数は昔からある関数なので、Excel 2019より前のバージョンをお使いの場合でも、この方法で対応できます。
  • データが変わっても自動的に再計算される: こちらも関数(数式)を使用するため、元のデータが更新されれば結果も自動で再計算されます。

デメリット

  • 数式が複雑で理解しにくい: 関数の組み合わせ方が少し特殊で、なぜこの数式で重複を除いた件数が求められるのか、理解が難しいです
  • 大量のデータだと計算が遅くなることがある: データ件数が非常に多い場合(数万行など)、Excelの再計算に少し時間がかかる可能性があります。

3つの方法の比較表

方法簡単さ自動更新対応バージョンおすすめポイント・状況
① 重複の削除★★★ (簡単)× (手動)全バージョン関数不要 / 一度きりの集計 / 結果を目で確認
② UNIQUE+COUNTA★★☆ (普通)○ (自動)Excel 2019 / 365 / Web 以降自動更新 / 新しいExcel向け / データ変更が多い場合
③ SUMPRODUCT+COUNTIF★☆☆ (複雑)○ (自動)全バージョン自動更新 / 古いExcelでもOK / 数式はやや複雑

よくある質問

Q. 大量のデータでも使えますか?

A. はい、どの方法も大量のデータに対応できます。ただし、「方法3」は大量データの場合に計算が少し遅くなることがあります。

Q. 複数の列の条件に基づいてカウントするにはどうすればいいですか?

A. 「方法1」では複数列を選択して重複を削除できます。

「方法2」で複数列の組み合わせで一意な件数を数える場合、UNIQUE関数は複数列の組み合わせで一意な行を返しますが、そのままCOUNTA関数で数えると行数ではなくセル数(行数×列数)になってしまいます。そのためROWS関数UNIQUE関数の結果の行数を数える必要があります。

=ROWS(UNIQUE(A1:B15))

数式の結果
=ROWS(UNIQUE(A1:B15))

「方法3」のSUMPRODUCT関数COUNTIF関数の組み合わせでは、基本的に単一列の重複カウントを想定しており、複数列の組み合わせでの重複除外カウントは非常に複雑になります。

Q. 数式がエラーになる場合はどうすればいいですか?

A. 最も多いのは範囲指定のミスです。セル範囲が正しいか、空白セルが含まれていないかを確認してください。また、「方法3」の数式で#DIV/0!(ゼロ除算エラー)が出る場合は、データに空白が含まれている可能性があります。

【補足】#DIV/0! ゼロ除算エラーとは?

Excelの数式で、数値などを「0」で割る計算が行われた場合に表示されるエラーメッセージです。「0で割ることはできません」というExcelからのサインです。方法3の数式では、データ範囲に空白セルがあると COUNTIF関数の結果が 0 になり、割り算 (1/COUNTIF(...)) ができずにこのエラーが出ることがあります。

まとめ

Excelで重複したデータを1件として数える方法を3つ紹介しました:

  1. 「重複の削除」機能を使う方法 - 最も直感的で簡単な方法
  2. UNIQUE関数とCOUNTA関数を使う方法 - 新しいExcelで自動計算したい場合
  3. SUMPRODUCT関数とCOUNTIF関数を使う方法 - どのバージョンでも使える方法

初心者の方は「方法1」から始めて、慣れてきたら「方法2」や「方法3」にチャレンジしてみることをおすすめします。Excelの関数を使いこなせるようになると、作業の効率向上につながります。

関連記事

Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。