2016-09-09 15 views
2

私はExcel - Counting unique records in a groupと似たような状況にありますが、最終的なひねりが私に頭痛を与えています。Excel - 別のフィールドに基づく範囲のユニーク数を計算する

これは私のデータがどのように見えるか、基本的である:

A B C 
--- --- --- 
1 5 2 
1 6 2 
1 5 2 
2 7 1 
2 7 1 
2 7 1 
3 8 1 
3 8 1 

私は列Aの各異なる値の列Bに一意の値の数をカウントする必要が列Cの値を生成しようとしています列Aはすべての値が一緒になるようにソートされます。

私が試したこの:

グループでくれ値の数のカウントを与えるが、
=COUNTIFS($A$2:$A$8,$A2, $B$2:$B$1638,"<>"&"") 

ないグループでユニーク値の数(そう、私の例では、それは3,3、および2となります)。私はthis pageで見つけたかなりクールなトリックも試しましたが、これは列全体の一意の値をすべて集計しています(私の例では、すべてが4になります)。私はその違いをどのように分割するのか分かりません。

私はまた、IF関数を使用して実行できるかどうかを判断しようとしました。どんな助け?

答えて

0

セルD2での使用この配列数式を:

=SUM(--(FREQUENCY(IF($A$2:$A$9=A2, MATCH($B$2:$B$9,$B$2:$B$9,0)), ROW($B$2:$B$9)-ROW($B$2)+1)>0)) 

数式バーでこれを入れて、配列として保存するCTRL + SHIFT + をENTER(だけではなくENTER)を押してください式。 Excelでこれらの角括弧{}を数式の周りに配置します。

次にコピーします。それはうまくいきます。あなたが数千のブックをワークブックで使用すると、配列の数式は非常に遅くなることに注意してください。

これはリンク先の「cool trick」のhereへのリンクに続いて見つかりました。

私に知らせていただきたいのですが、私の答えを受け入れたものとしてマークすることを忘れないでください。がんばろう!

+0

修正:CTRL + SHIFT + ENTERキーを押して配列式として保存します。 – ChrisB

+0

これは正しい軌道上にあるかもしれないと思っていますが、私が欲しいものを私に与えてくれるわけではありません。私は、C列にこれを取得: 2、2、1、1、1、1、1、#のN /代わりに期待の : 2、2、2、1、1、1、1 、1 私はこのアプローチから何が学べるのかを見極めるつもりです。最終的には、私が必要とする場所になるかもしれません。 – TulsaMJ

関連する問題