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

时间:2015-11-13 11:16:40

标签: google-sheets spreadsheet google-docs

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

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

考虑表格“Classes”将每只动物与一个类匹配:

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

表单“库存”将是这样的。

我可以用B类中的每个细胞填充哪个公式,按类别计算动物数量?

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

我在=SUMIF(Animals!B:B, condition)中考虑了SUMIF,但我似乎无法将condition中的VLOOKUP组合在一起,就像在"=VLOOKUP(Animals!A2, Classes!A:B, 2, FALSE)"中一样。我对数组公式并不熟悉,如果这是人们需要做的事情。

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

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

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

vloopup返回一个数组{"bird","bird","mammal","mammal"}SUMIFS()再次检查A14中的类。

在这种情况下,为方便起见,我列出了这样的数据:

  • 第一个表格以aniaml
  • 中的A1开头
  • 第二个表格以animal
  • 中的A7开头
  • 最后一个表格以class中的A13开头。