1

私は3つの列を持っています。

-----A-----B-----C-----
---Name----ID---Report

列AIには名前があります(繰り返すことができます)
列BIにはIDがあります(異なる名前に対して同じIDで繰り返すことができます)
列CIにはYesとNoがあります(同じIDに対してNOで繰り返すことができます)

John(列A)の列CのNoの数を数えるのに助けが必要ですが、列BのIDが重複している場合は1回だけ数えます。

私はフィルターなどを介してこれを行うことができますが、数式のみを使用して行う必要があります。

これが私が取り組んでいるファイルです(ドロップボックスリンク)ドロップボックス
エクセルファイルリンク

これは私がこれまでに得たものです

=COUNTIF(A1:A1000,"*" & "John" & "*")
4

3 に答える 3

7

次のような単一の式を使用できます。

=SUM(IF(FREQUENCY(IF(A2:A200="John",IF(C2:C200="No",B2:B200)),B2:B200),1))

これは「CTRL+SHIFT+ENTERで確認する必要のある配列数式です

これにより、例として3が得られます。列Bのデータは数値である必要があることに注意してください。これは、ここに当てはまるようです。

于 2013-01-29T19:49:18.907 に答える
1

D私の考えは、式を使用して列を追加すること=COUNTIFS(A:A,"="&A2,B:B,"="&B2,C:C,"="&C2)です。これにより、各行の重複数がわかります。行が3を返す場合、その正確な構成の他の2つのインスタンスがあることを意味します。

次に、新しいテーブルを作成します。テスト用に、これを列Gとで行いHました。列Gには、で始まる1、2、3などの番号が付けられG2ます。Nameはセル内のヘッダーと参照でH1あり、この場合はJohnです。次に、この数式をセルに入れますH2=COUNTIFS(A:A,"="&$H$1,C:C,"=No",D:D,"="&G2)/G2そしてそれを下にドラッグします。これは基本的に、「1」の重複、「2」の重複、および「3」の重複の各インスタンスをカウントしています(これは実際に役立つ場合があります)。次に、列を合計するだけでH、答えが得られるはずです。

于 2013-01-29T19:05:38.493 に答える
1

これはあなたがやろうとしていることに非常に近いようです

=SUMPRODUCT((A2:A1000="John")*(C2:C1000="No")*(IF(FREQUENCY(B2:B1000,B2:B999)>0,TRUE)))

最後の行を無視するという点で、頻度に1つの欠陥があります。頻度の式を変更するFREQUENCY(B2:B1000,B2:B1000)と、目的の9ではなく10の結果が返されるため、エラーが発生します。

編集

bins配列を短くするよりも、他の範囲を拡張する方がおそらく良いでしょう。

=SUMPRODUCT((A2:A1001="John")*(C2:C1001="No")*(IF(FREQUENCY(B2:B1001,B2:B1000)>0,TRUE)))
于 2013-01-29T19:33:42.693 に答える