編集:あなたのソリューションがどのように機能しているかに気づきました-これを反映するように修正されました。
FREQUENCY は、検索配列内のビンからエントリを検索しています。仕組みは次のとおりです。
検索配列: 1 2 3 4 1 2 7 3
ビン: 1 2 3 4 1 2 7 3
ビン 1 => 2 つの 1 がある => 2
ビン 2 => 2 が 2 つある => 2
ビン 3 => 3 が 2 つある => 2
ビン 4 => 1 つある 4 => 1
ビン 1 の繰り返し => 1 がすでにカウントされている => 0
ビン 2 の繰り返し => 2 がすでにカウントされている => 0
ビン 7 => 7 が 1 つある => 1
ビン 3 が繰り返された => 3 がすでにカウントされている => 0
つまり、値 1 の 2 番目のビンもゼロ以外であると予想されるため、同じビンを 2 回カウントすることはありません。しかし、それがどのように機能するかです-最初のビンの出現回数のみをカウントし、重複ビンはカウントしないため、ゼロより大きい値を持つ行の数は、個別のエントリの数を示します.
これは、役に立つと思われる別のアプローチです。個別の値の数を計算するために使用できます。
文字列範囲が B2:B10 であるとします。別の列に記入する
=(MATCH(B2,B$2:B2,1)-(ROW(B2)-ROW(B$2)))>0
下にコピーすると行が変わるため、2 行目は次のようになります。
=(MATCH(B3,B$2:B3,1)-(ROW(B3)-ROW(B$2)))>0
これは、現在の行に文字列の最初のインスタンスが含まれている場合に TRUE を示しています (数分待てば、何をしているかを理解できるはずです)。したがって、COUNTIF() で TRUE の数を数えると、個別の文字列の数を取得する必要があります。