重複するデータで一意の入力値の個数を数える

重複するデータで一意の入力値の個数を数える

注:  最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに 英語の記事 があります。

重複する値が入力されているデータ範囲に、一意の値が何種類あるかを数えることが必要な場合があります。たとえば、列に次のようなデータが入力されている場合を考えてみます。

  • 5、6、7、6 という数値が入力されている場合、一意の値は  5、6、7 の 3 種類です。

  • "Bradley"、"Doyle"、"Doyle"、"Doyle" という値が入力されている場合、一意の値は "Bradley" および "Doyle" の 2 種類です。

重複するデータで一意の値をカウントするいくつかの方法があります。

目的に合ったトピックをクリックしてください

フィルターを使用して一意の値の個数を数える

関数を使用して一意の値の個数を数える

フィルターを使用して一意の値の個数を数える

[フィルター オプションの設定] ダイアログ ボックスを使用して、データ列から一意の値を抽出し、別の場所に貼り付けることができます。その後、ROWS 関数を使用すると、新しい範囲にある項目の個数をカウントすることができます。

  1. 操作対象とするセル範囲を選択するか、テーブルにアクティブなセルがあることを確認します。

    選択したセル範囲に列見出しがあることを確認します。

  2. [データ] タブの [並べ替えとフィルター] で [詳細] をクリックします。

    [フィルター オプションの設定] ダイアログ ボックスが表示されます。

  3. [指定した範囲] をクリックします。

  4. [抽出範囲] ボックスに、セル参照を入力します。

    または、ダイアログ縮小 ボタン イメージ をクリックして] ダイアログ ボックスを一時的に非表示にする、ワークシートで、セルを選択し、[ダイアログ展開 ボタン イメージ キーを押します。

  5. [重複するレコードは無視する] チェック ボックスをオンにし、[OK] をクリックします。

    選択した範囲内の一意の値が、[抽出範囲] ボックスで指定したセルを基点として新しい位置にコピーされます。

  6. 範囲内の最後のセルの下にある空白のセル、は、関数を入力します。コピーした一意の値の範囲を列見出しも含めて、引数として使用します。たとえば、一意の値の範囲 b2 ~ b45 がある場合は、 =ROWS(B2:B45)を入力します。

ページの先頭へ

関数を使用して一意の値の個数を数える

この処理を実行するには、IF 関数、SUM 関数、FREQUENCY 関数、MATCH 関数、および LEN 関数の組み合わせを使用します。

  • IF 関数を使用して、条件が満たされた場合に 1 を返します。

  • SUM 関数を使用して、合計を算出します。

  • FREQUENCY 関数を使用して、一意の値の個数を数えます。FREQUENCY 関数では、文字列と 0 (ゼロ) は無視されます。この関数は、ある値の最初の出現時にその値の出現回数を返します。2 回目以降の出現時には 0 (ゼロ) を返します。

  • MATCH 関数を使用して、範囲内の文字列の位置を返します。ここで返された値は FREQUENCY 関数の引数として使用されるため、対応する文字列を評価できます。

  • LEN 関数を使用して、空白セルを検出します。空白セルの値の長さは 0 (ゼロ) です。

使用例

使用例を新規のワークシートにコピーすると、計算結果を確認できます。

使用例をコピーする方法

  1. 新しいブックまたはワークシートを作成します。

  2. ヘルプ トピックから使用例を選びます。

    注: 行見出しまたは列見出しは選ばないでください。

    ヘルプから使用例を選ぶ

    ヘルプから使用例を選択する

  3. Ctrl キーを押しながら C キーを押します。

  4. ワークシートのセル A1 を選択し、Ctrl キーを押しながら V キーを押します。

  5. 計算結果の表示と、結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、[数式] タブの [ワークシート分析] で [数式の表示] をクリックします。

1

2

3

4

5

6

7

8

9

10

A

B

データ

データ

986

Bradley

Doyle

563

67

789

235

Bradley

Doyle

689

789

Doyle

143

56

237

67

235

数式

説明 (計算結果)

=SUM(IF(FREQUENCY(A2:A10,A2:A10)>0,1))

セル A2 から A10 にある一意の数値の個数を数える。空白のセルや文字列は数えない (4)。

=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATCH(B2:B10,B2:B10,0))>0,1))

セル B2 から B10 にある一意のテキストと数値の個数を数える (この範囲内に空白セルはないものとする) (7)。

=SUM(IF(FREQUENCY(IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""), IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""))>0,1))

セル A2 から A10 にある一意のテキストと数値の個数を数える。空白のセルや文字列は数えない (6)。

注:   

  • この例の数式は、配列数式として入力する必要があります。 数式を含む各セルを選び、F2 キーを押ます。次に、Ctrl キーと Shift キーを押しながら Enter キーを押します。

  • 式の評価をステップ バイ ステップで確認するには、数式が含まれるセルをクリックし、[数式] タブの [ワークシート分析] で、[数式の検証] をクリックします。

関数についての詳細情報

  • FREQUENCY 関数は、範囲内でのデータの頻度分布を、縦方向の数値の配列として返します。たとえば、FREQUENCY 関数を使うと、試験の成績の範囲内に含まれる成績の頻度分布を計算することができます。このメソッドでは、値は配列として返され、配列数式として入力されます。

  • MATCH 関数は、セルの範囲内で指定された項目を検索し、範囲内のその項目の相対的な位置を返します。たとえば、セル範囲 A1:A3 に値 5、25、および 38 が含まれる場合、数式 =MATCH(25,A1:A3,0) は数値 2 を返します。これは、25 が範囲内で 2 番目の項目であるためです。

  • LEN関数は、文字列の文字数を返します。

  • SUM 関数は、引数として指定した数値をすべて合計します。引数には、範囲、セル参照、配列、定数、数式、または、他の関数の計算結果を指定できます。たとえば、SUM(A1:A5) は、セル A1 ~ A5 に含まれている数値をすべて合計します。

  • IF 関数は、指定された条件を評価した結果が TRUE の場合はある値を返し、評価した結果が FALSE の場合は別の値を返します。

ページの先頭へ

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×