Excel - 根据与另一个表中的另一列匹配的列求和值

Excel - 根据与另一个表中的另一列匹配的列求和值

我一直在思考这个问题,但还没有弄明白,但我确信这非常简单。

假设以下示例:
有两个表,一个包含动物,另一个包含每种动物的数量。此外,每种动物都属于一个类型,哺乳动物、鸟类、昆虫、爬行动物等。

表 1 - 动物

Animal      Type
parrot      birds
spider      bugs
zebra       mammals
seagull     birds
elephant    mammals
fly         bugs
snake       reptiles

表 2 - 动物数量

Animal     Count
zebra        4
snake        1
spider       3
elephant     0
parrot       2
seagull      3
fly          5

这个想法是生成一个表格,其中包含每种动物的总数。表 3 中“总数”列的每个单元格都会在表 1 中查找其对应的“类型”,并将表 2 中与该“类型”的动物相匹配的“计数”中的所有行相加。

表 3 - 结果

 Type       Total
mammals      4         (zebra + elephant)
birds        5         (parrot + seagull)
bugs         8         (fly + spider)
reptiles     1         (snake)

有没有办法进行这种匹配?

答案1

A类似问题昨天已经问过了。如果您已经准备好了包含不同类型动物的表 3,则可以使用此数组公式来检索计数:

=SUM(IF(COUNTIFS('table1'!A$1:A$7,'table2'!A$1:A$7,'table1'!B$1:B$7,A1)>0,'table2'!B$1:B$7,0))

其中每个表都位于以表名命名的工作表中。

或者,您也可以使用其他数组公式:

=SUM(SUMIF('table2'!A$1:A$7,IF('table1'!B$1:B$7=A1,'table1'!A$1:A$7),E$1:E$7))

注意:要以数组公式的形式输入公式,您需要在输入公式后按住Ctrl+Shift并按下。Enter

相关内容