当行中的相应单元格与 VLOOKUP 匹配时如何对列中的单元格求和

How to sum cells in a column when respective cell in row matches VLOOKUP

有以下sheet“动物”,我如何获得鸟类和哺乳动物数量的清单?:

|   | A       | B   |  
| - | ------- | --- |  
| 1 | Animal  | Qty |  
| 2 | Chicken | 5   |  
| 3 | Duck    | 2   |  
| 4 | Pig     | 7   |  
| 5 | Horse   | 4   |  

考虑到 sheet “类” 将每个动物匹配到 class:

|   | A       | B      |  
| - | ------- | ------ |  
| 1 | Animal  | Class  |  
| 2 | Chicken | Bird   |  
| 3 | Duck    | Bird   |  
| 4 | Pig     | Mammal |  
| 5 | Horse   | Mammal |  

sheet“盘点”应该是这样的。

我可以用什么公式填充 B 列中的每个单元格,用 class 计算动物的数量?

|   | A      |  B    |  
| - | ------ | ---   |  
|   | Class  | Qty   |  
| 1 | Bird   | =(7)  |  
| 2 | Mammal | =(11) |  

我想过像 =SUMIF(Animals!B:B, condition) 中那样的 SUMIF,但我似乎无法像 "=VLOOKUP(Animals!A2, Classes!A:B, 2, FALSE)" 中那样在 condition 中组合 VLOOKUP。我对数组公式一点也不熟悉,如果这是需要做的。

我在 Stack Overflow 和其他人中检查了 other similar questions,但我发现的那些似乎有一个条件来检查特定值而不是公式。

尝试以下操作:

=ArrayFormula(SUMIFS($B:$B,
              VLOOKUP($A:$A,
                      $A:$B,
                      2,
                      FALSE),
              A14))

vloopup returns 数组 {"bird","bird","mammal","mammal"} SUMIFS() 再次检查是 A14 中的 class。

在这种情况下,为了方便起见,我这样布置数据:

  • 第一个 table 以 aniaml 开头 A1
  • 第二个 table 以 animal 开头 A7
  • 最后一个 table 在 A13 中以 class 开头。