SUMPRODUCTIF - 库存电子表格

时间:2012-06-15 01:08:42

标签: excel google-docs

在Google Docs(与excell和其他电子表格程序共享许多命令)中有以下功能:

  • SUMIF:获取谓词和范围,并将谓词中符合预期的所有项目相加。
  • SUMPRODUCT:需要2个列范围,每行在元素旁边将元素乘以其他范围内的元素,然后将所有这些加起来。
+-----+-----------------+------+------------------+
| qty |     product     | item | item per product |
+-----+-----------------+------+------------------+
|   4 | box of foo      | foo  |               10 |
|   8 | foo             | foo  |                1 |
|   2 | box of bar      | bar  |               10 |
|   1 | foorbar package | set  |                1 |
+-----+-----------------+------+------------------+

所以我有一个产品的订单清单(基本上是库存)。 每个产品包含一个或多个项目。 大部分时间只是一种单品。 除了包含1 foo和1 bar的foobar包。

我想生成一张表,总结了多少 我们订购的每件商品。 想要:

+------+----------------+
| Item |    Net Qty     |
+------+----------------+
| foo  | 49 (=4*10+8+1) |
| bar  | 29(=2*10+1)    |
+------+----------------+

括号中的东西不是输出表的一部分,只是htereto清楚地表明每个数字的来源。

如何生成这样的表格? 看起来它可以通过使用If,Sum和Product来完成。 使用Ifs来计算那些没有匹配名称的东西我正在反击关键字“set”的项目为零,  然后产生结果。 但我[我不知道如何在一行中完成这个

对于If,或者在电子表格中做一些复杂的事情

,我不是很有头脑

这是一次性的事情,所以我不想去创建数据库,然后导出一个speadsheet。

1 个答案:

答案 0 :(得分:2)

this blog启发,适用于您的数据:

=arrayformula(sumproduct(
 (($C$2:$C$5="foo")+($C$2:$C$5="set")), $A$2:$A$5, $D$2:$D$5))