sumproduct excel多个表

我有两个表,我想通过引用另一个表来计算一个项目的出现次数,

例如,我想知道鲍勃拥有多less蛇,明显的答案是两个,但是我怎么用一个公式来做呢? 我已经用sumproduct来计算单个蛇的出现次数,但是我想通过引用第二个表来将它们全部放在一个公式中。 这可能吗?

注意 :我有excel 2003,因此是sumproduct

AB 1 Bob Boa 2 Ann Cow 3 Bob Sheep 4 Bob Python AB 1 Farm Snake 2 Cow Boa 3 Sheep Python 

这当然可以用你现有的布局,而不需要帮助列。 假设A1:B4第一个表格, D1:E3第二个表格,您可以使用此公式获取Bob拥有的蛇的数量

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

我认为,第一个标准是不言而喻的。

第二个这个部分find所有的蛇的名字:

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

….因为它匹配D1:E1中的标题“蛇”,并返回下面的整个列[通过在INDEX中使用零作为行参数,您将获得整列]。

那么,拥有所有蛇的名字,你可以用MATCH来匹配B1:B4。 如果有一个匹配,你得到一个数字,如果没有,你会得到#N / A,所以你把MATCH函数包装成ISNUMBER来返回TRUE / FALSE。

另一种方法是使用COUNTIF来代替ISNUMBER / MATCH

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

首先,您需要正确设置查找表。 没有办法用你的第二张表查找原样。 首先改变它如下:

 Farm Cow Farm Sheep Snake Boa Snake Python 

现在你可以使用这个公式查找什么types的项目:

 =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"))