COUNTIF関数とSUMPRODUCT関数を使用して一意の値をカウントしました。その方法は簡単ですが、データが大きい場合は遅くなります。この記事では、Excelで一意のテキスト値をより高速な式でカウントする方法を学習します

0041

Excelで一意のテキスト値をカウントするための一般的な式

=SUM(--(FREQUENCY(MATCH(range,range,0),ROW(first_cell_in_range)+1)>0))

範囲:一意の値を取得する範囲。

範囲内のfirstCell:範囲内の最初のセルの参照です。

範囲がA2:A10の場合、それはA2です。

物事を明確にするための例を見てみましょう。

例:一意のテキスト値をカウントするExcel

エクセルシートには、A2:A10の範囲の名前のこのデータがあります。指定された範囲から一意の名前の数を取得したい。

0042

上記の一般的な数式をここに適用して、Excel範囲A2:A10の一意のテキストをカウントします。名前としてA2:A10という名前を付けました。

=SUM(--(FREQUENCY(MATCH(names,names,0),ROW(A2)+1)>0))

これにより、範囲A2:A10の一意のテキストの総数が返されます。

0043

どのように機能しますか?

内側から解決しましょう。

link:/ lookup-formulas-excel-match-function [MATCH](names、names、0)*:

この部分は、MATCHのプロパティに従って、範囲A2:A10(名前)の各値の最初の場所を返します。

\ {1; 1; 3; 3; 5; 5; 7; 7; 7}。

次の link:/ lookup-and-reference-excel-row-function [ROW](A2:A19):これは、範囲A2:A10の各セルの行番号を返します。

\ {2; 3; 4; 5; 6; 7; 8; 9; 10} link:/ lookup-and-reference-excel-row-function [ROW](names)-` link:/ lookup-and -reference-excel-row-function [ROW] `(A2):

次に、各行番号から最初の行番号を引きます。これにより、0から始まるシリアル番号の配列が返されます。

\ {0; 1; 2; 3; 4; 5; 6; 7; 8} 1から始まるシリアル番号が必要なので、それに1を追加します。

link:/ lookup-and-reference-excel-row-function [ROW](names)-` link:/ lookup-and-reference-excel-row-function [ROW] `(A2)+1。

これにより、1から始まるシリアル番号の配列が得られます。

\ {1; 2; 3; 4; 5; 6; 7; 8; 9}これは、条件に基づいて一意のカウントを取得するのに役立ちます。

今、私たちは持っています:

link:/ statistics-formulas-excel-frequency-function-2 [FREQUENCY](* \ {1; 1; 3; 3; 5; 5; 7; 7; 7}、\ {1; 2; 3; 4; 5; 6; 7; 8; 9})。

これは、指定された配列内の各数値の頻度を返します。\ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0}ここで、各正の数値は、基準が満たされたときに一意の値が発生することを示しています。この配列では、0より大きい値をカウントする必要があります。

そのために、> 0でチェックします。これはTRUEとFALSEを返します。 -(二重二項演算子)を使用してtruefalseを変換します。

link:/ math-and-trig-excel-sum-function [SUM](-(\ {2; 0; 2; 0; 2; 0; 3; 0; 0; 0})> 0)this link:/ math-and-trig-excel-sum-function [SUM](\ {1; 0; 1; 0; 1; 0; 1; 0; 0; 0})に変換されます

そして最後に、基準の範囲内の名前の一意の数を4として取得します。

空白のセルがある範囲内の一意のテキストを数える方法は?

上記の数式の問題は、範囲内に空白のセルがある場合、#N / Aエラーが表示されることです。これに取り組むには、空白セルをチェックする条件を設定する必要があります。

=SUM(--(FREQUENCY(IF(names <> “”,MATCH(names,names,0)),ROW(A2)+1)>0))

これにより、正しい出力が得られます。ここでは、MATCHをIF関数でカプセル化しました。複数の基準を持つExcelで一意の値をカウントする方法の記事で完全な説明を読むことができますか?

そうそう、みんな、これはあなたがエクセルでユニークなテキストカウントを得ることができる方法です。このトピックまたはその他の高度なExcel / VBAトピックに関して疑問がある場合は、お知らせください。コメントセクションはあなたのために開かれています。

ファイルのダウンロード: