我有两个表,我想通过引用另一个表来计算项目的出现次数,
例如,我想知道Bob拥有多少蛇,显而易见的答案是两个,但我如何在一个公式中做到这一点?我已经使用sumproduct来计算单个蛇的出现次数,但我想通过引用第二个表来将它们全部放在一个公式中。这可能吗?注意: 我有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
答案 0 :(得分:3)
使用现有布局和没有辅助列可以做到这一点。假设A1:B4
中的第一个表和D1:E3
中的第二个表,您可以通过此公式获得Bob拥有的蛇数
=SUMPRODUCT((A1:A4="Bob")*ISNUMBER(MATCH(B1:B4,INDEX(D2:E3,0, MATCH("snake",D1:E1,0)),0)))
我认为第一个标准是不言而喻的。
对于第二部分,这部分找到了所有蛇的名字:
INDEX(D2:E3,0,MATCH("snake",D1:E1,0))
....因为它与D1中的标题匹配“snake”:E1并返回下面的整个列[通过使用零作为INDEX中的行参数得到整列]。
然后,拥有所有的蛇名称,您可以使用MATCH来匹配B1:B4。如果有匹配则得到一个数字,如果没有,你会得到#N / A,所以你在ISNUMBER中包装MATCH函数返回TRUE / FALSE。
另一种方法是使用COUNTIF代替ISNUMBER / MATCH
=SUMPRODUCT((A1:A4="Bob")*(COUNTIF(INDEX(D2:E3,0, MATCH("snake",D1:E1,0)),B1:B4)>0))
答案 1 :(得分:1)
首先,您需要正确设置查找表。无法按原样查找第二个表。首先将其更改如下:
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"))