22

列 AI には、さまざまな名前のリストがあります。列 B には、0 または 1 のいずれかの値があります。

列 B に 1 がある列 A からすべての一意の名前の数を取得したい.

以下の配列式を使用すると、一意の名前を数えることはできますが、列 B に条件を適用することはできません。

=SUM(1/COUNTIF(A:A,A:A))
4

5 に答える 5

10

行が 100 行以下であると仮定して、この "配列数式" を試して、B2:B100 の同じ行に 1 がある A2:A100の異なる名前を数えます。

=SUM(IF(FREQUENCY(IF(B2:B100=1,IF(A2:A100<>"",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))

で確認CTRL+SHIFT+ENTER

2つは同じではないため、一意ではなく異なると言うことに注意してください

于 2013-04-11T09:20:08.640 に答える
8

このような?

=SUM(--(FREQUENCY(IF(($B$1:$B$8=1), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8), ""), COUNTIF($A$1:$A$8, "<"&$A$1:$A$8))>0)))

これは配列数式です。CTL+ SHIFT+を押す必要がありますENTER

スクリーンショット

ここに画像の説明を入力

于 2013-04-11T09:20:13.687 に答える
3

式である必要がありますか?これを行う非常に簡単な方法は、列 A と B からピボット テーブルを作成することです。次に、列 B をフィルター フィールドとして設定し、A のカウントを値として設定します (列 A と B にラベルを付ける必要があります)。次に、ピボット シートの A4 (少なくともデフォルトでは) に回答が含まれている必要があります。これはどのサイズのリストでも機能し、実際には複数の条件がある場合に機能します。

それが公式でなければならない場合、それは完全にそうでなければなりませんか? 数式が機能する前に A で並べ替えることが許可されている場合、このワークフローはどうですか。私はこれに夢中ではなく、改善できると思います。

1) A (昇順または降順) で並べ替え、次に B (降順) で並べ替えます。

2) C では、C の各行に次のような式を入れます。

=if (and(A2<>A1,B2=1),1,0) 

C1 は次のようになります。

=b1 

C2 からデータの最後の行 (c500 など) までドラッグします。

3) 次に、C = sum(c1:c500) を合計してカウントします。

(必要な最大数がわかっている限り) データ行の下に数式をドラッグできます。すべての空白行に対して 0 が返されます。次に、A と B にデータを追加すると、残りは自動的に更新されます。おそらく、データも再ソートする必要があります。

ピボット テーブル ソリューションの優れた点の 1 つは、既存のデータの行に新しいデータを挿入する限り、データ セットに合わせて自動的に拡張できることです。もちろん仕分け不要。

于 2013-04-11T15:50:56.597 に答える