2

2 つのテーブルがあり、別のテーブルを参照してアイテムの出現回数をカウントしたいのですが、

たとえば、ボブが所有しているヘビの数を知りたい場合、当然の答えは 2 ですが、1 つの式でそれを行うにはどうすればよいでしょうか? sumproduct を使用して個々のヘビの出現回数を計算しましたが、2 番目のテーブルを参照して、それらすべてを 1 つの式にまとめたいと思います。これは可能ですか?

:私はExcel 2003を持っているので、sumproduct

    A      B    
1  Bob    Boa
2  Ann    Cow
3  Bob    Sheep
4  Bob    Python

    A      B
1  Farm   Snake
2  Cow    Boa
3  Sheep  Python
4

2 に答える 2

3

既存のレイアウトで、ヘルパー列なしでこれを行うことは確かに可能です。A1:B4の最初のテーブルと の 2 番目のテーブルを仮定D1:E3すると、この式でボブが所有するヘビの数を取得できます。

=SUMPRODUCT((A1:A4="Bob")*ISNUMBER(MATCH(B1:B4,INDEX(D2:E3,0, MATCH("snake",D1:E1,0)),0)))

最初の基準は自明だと思います。

2 番目の部分では、すべてのヘビの名前を見つけます。

INDEX(D2:E3,0,MATCH("snake",D1:E1,0))

....「snake」を D1:E1 のヘッダーと照合し、下の列全体を返すためです [INDEX の行引数としてゼロを使用すると、列全体が取得されます]。

次に、MATCH を使用してそれらに対して B1:B4 を照合できるすべてのヘビの名前を取得します。一致する場合は数値を取得し、一致しない場合は #N/A を取得するため、MATCH 関数を ISNUMBER でラップして TRUE/FALSE を返します。

もう 1 つの方法は、ISNUMBER/MATCH の代わりに COUNTIF を使用することです。

=SUMPRODUCT((A1:A4="Bob")*(COUNTIF(INDEX(D2:E3,0, MATCH("snake",D1:E1,0)),B1:B4)>0))

于 2013-09-09T09:47:25.413 に答える
1

まず、ルックアップ テーブルを適切に設定する必要があります。2 番目のテーブルをそのまま参照する方法はありません。まず、次のように変更します。

Farm  Cow
Farm  Sheep
Snake Boa
Snake Python

次の式を使用して、物がどのタイプのアイテムであるかを調べることができます。

=INDEX(Sheet2!A:A,MATCH(B1,Sheet2!B:B,0))

これを元のシートの列 C に追加すると、次のようになります。

Bob Boa Snake
Ann Cow Farm
Bob Sheep   Farm
Bob Python  Snake

次に、 sumproduct を使用できます。

=SUMPRODUCT((A1:A4="Bob")*(C1:C4="Snake"))
于 2013-09-09T00:22:14.570 に答える