2016-08-27 6 views
0

それぞれの名前に対して一意の値を数えたいと思います。以下のイメージは私が必要とするものを説明します。ここではが名前欄に5回表示されていますが、2つの固有値しか含まれていないことがわかります。私は頻度の方法を試みたが、それは名前を考慮せずにすべてのユニークな値を数えます。助けや提案はありますか?特定のテキストが見つかった場合に一意の値を数えます。

enter image description here

答えて

2

私はそのスクリーンショットから、あなたの行番号を見ることができないので、私はあなたのソース表のヘッダ行であることを前提とします。3.

F5で、配列数式**

=COUNT(1/FREQUENCY(IF(B$4:B$16=E5,C$4:C$16),C$4:C$16))

とダウンコピー。

タブ)名マネージャに移動し、お使いの二つのソース範囲について定義名を組み込み、3人の新たに定義された名前を作成するには:

LRow を参照:=MATCH(REPT("z",255),$B:$B)

名前Names を指す。=$B$4:INDEX($B:$B,LRow)

Values を指す。=$C$4:INDEX($C:$C,LRow)

配列数式は、次になる:

=COUNT(1/FREQUENCY(IF(Names=E5,Values),Values))

よろしく

**配列式は、 '標準式'と同じ方法で入力されません。 ENTERだけを押すのではなく、まずCTRLとSHIFTを押したまま、ENTERを押します。正しく実行した場合、Excelは式の中に{}の中括弧を挿入します(手動では挿入しないでください)。

+0

私はスクリーンショットを更新しました。列が分かっていて名前が存在する行がわからない場合はどうなりますか?カントーのように、列全体を選択しますか? (B:B) – SarmadK

+0

実際にデータが行1048576にまで伸びていない限り、列全体を参照するのはひどい考えです。ここには2つの一般的なアプローチがあります:1)参照されている最後の行のために適切に低いが十分な上限を選択する。 2)範囲を動的にして、データが拡大/縮小されると自動的に調整します。あなたが望むなら、後者をする方法を私はあなたに教えてくれるでしょう。 –

+0

が追加されました。あなたの最新のコメントがどういう意味なのか分かりません - ごめんなさい。 –

関連する問題