web-dev-qa-db-ja.com

範囲内のテキストを無視して一意の値をカウントする

_123
562
My Data
548
K166
You 
1548
123
562
100
My Data
100
_

上記のリストのテキストを無視して、一意の値をカウントしたいと思います。このために、配列数式{=SUM(1/Countif(,,,,))}を試しましたが、正しく機能していません。

誰かがタスクの式やVBAを提案できますか?

6
Rajesh S

コミュニティの利益のために、「指定されたデータ範囲のテキストを無視して一意の値をカウントする」という、異なるアプローチの配列数式も提案したいと思います。

enter image description here

{=SUM(IF(FREQUENCY(A2:A13,A2:A13)>0,1,0))}

注、Ctrl + Shift + Enterで数式を終了します。

4
Rajesh S

解決策は次のとおりです。

Worksheet Screenshot

配列はどこにでも次の式を入力します。

{=SUM(IFERROR(1/COUNTIF(D1:D12,IFERROR(--D1:D12,)),))}
8
robinCTS

Rajesh自身の答えに触発された別の解決策は次のとおりです。

Worksheet Screenshot

次の式を任意の場所に入力します。

=SUM(--(FREQUENCY(D1:D12,D1:D12)>0))

この式は配列を入力する必要がないことに注意してください

3
robinCTS