【问题标题】:How to sum cells in a column when respective cell in row matches VLOOKUP当行中的相应单元格与 VLOOKUP 匹配时,如何对列中的单元格求和
【发布时间】:2015-11-13 11:16:39
【问题描述】:

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

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

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

|   | 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)" 中一样。我对数组公式一点也不熟悉,如果这是需要做的。

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

【问题讨论】:

    标签: google-sheets spreadsheet google-docs


    【解决方案1】:

    尝试以下方法:

    =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 中的类。

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

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

    【讨论】:

    • 太棒了。我重写了您的公式以使用我的示例中的表格,例如 =ArrayFormula(SUMIFS(Animals!$B:$B,VLOOKUP(Animals!$A:$A,Classes!$A:$B,2,FALSE),$A2)) 用于“库存”中的单元格 B2,然后复制粘贴到 B3 让 Google 电子表格进行增量。非常感谢您对其工作原理的解释。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多