0

好的,这将是一个很难问的问题,但我会试一试。

我在一个工作表(工作表)中有三张工作表(Sheet1、Sheet2、Sheet3)。

Sheet1包含 ~100,000 行,其中包含Company (A)Holding (B)Product (C)Year (D)Spend (E)列。
Sheet2包含 100 行,其中包含Company (A)Holding (B)Product Spend in certain Year (C)列。
Sheet3包含 100 行,其中包含Company (A)ID (B)、 Variant1 (C)Variant2 (D)Variant3 (E) 列

我想要的是在Sheet2中计算Product Spend in certain Year。通过使用函数SUMIFS,我已经能够在Sheet1中将其作为测试。所以在Sheet1中我使用了:

=SUMIFS(E:E,A:A,"Fake Ltd",B:B,"Fake Holding",C:C,"Dog Food",D:D,"2011")

问题是所有工作表中的公司名称都不相同。我试图通过FuzzyFind解决它,但这还不够完美。所以我决定改变我的方法,这就是Sheet3存在的原因。此表在一行中包含一家公司的所有不同名称变体(类似于关系数据库)。

现在我需要在Sheet2中使用此SUMIFS函数,其中公司名称与Sheet3中所有可能的其他公司名称相关,因此它可以将出现在Sheet1中的公司名称相加,就好像它是一个公司名称一样。Sheet3中的Company列是“选择”的公司名称,也是Sheet2中使用的名称。是Sheet1给出了问题。

所以不知何故,我需要在Sheet2中将SUMIFSVLOOKUP结合起来,但我不确定如何。任何人有任何线索?我会尽力改进我的问题,我可以想象如果我没有做最好的解释工作。

4

2 回答 2

1

除非 Sheet1 是只读的,否则只需向 Sheet1 添加另一列,您可以在其中从 Sheet3 中查找正确的公司名称。然后根据此列在 Sheet2 中构建您的 SUMIFS。

如果您使用的是 Excel 2010/13,请考虑安装Powerpivot作为替代方案。在这里,您只需通过 Company name 列将 Sheet1 中的表与 Sheet3 中的表链接 - 然后生成一个数据透视表,为您提供所需的所有聚合!

于 2012-12-04T12:12:02.733 回答
0

我认为您所追求的是 excel 的数组功能。

http://office.microsoft.com/en-au/excel-help/introducing-array-formulas-in-excel-HA001087290.aspx

对于工作表 C,我建议重复模式:公司、变体

这样,您可以交叉引用任何和所有在 C 中匹配的公司,而无需尝试与偏移量 1、2、3 ... n 进行比较

然后,您可以组合结果并使用它来匹配多个条件:

http://blog.contextures.com/archives/2012/07/12/check-multiple-criteria-with-excel-index-and-match/

(标准本质上是与公司名称和年份匹配的所有行的联合)。

一旦你得到了匹配的行数组,你就可以在顶部应用你的 sumif。

于 2012-12-04T11:08:48.337 回答