1

我正在使用 3 个工作表。

项目包括以下内容:

Project    ClientCode   Code     
------     ----------   ----     
Project1   ABC          123      
Project2   ABC          456      
Project3   DEF          789      

发票包括:

ProjectCode   Amount
-----------   -----
123           $100
789           $200
123           $50

客户包括:

Code    Total
----    -----
ABC     [$150]
DEF     [$200]

我正在尝试创建一个公式,该公式将通过确定哪些发票属于哪个项目属于哪个客户来填充客户工作表上的“总计”字段。我觉得这将是 SUMIF 和 LOOKUP 的组合,但我很难过。

编辑:将以上内容修改为下面讨论的格式(交换项目 B 列和 C 列)

4

1 回答 1

0

可以在没有任何辅助列的情况下在单个单元格中使用VLOOKUPSUMIF,但您需要交换列的位置并ClientCode使其工作。CodePROJECTS

如上所述交换列位置(即ClientCode在之前Code),然后使用:

=SUMIF(INVOICES!A:A, VLOOKUP(CLIENTS!A2, PROJECTS!B:C, 2, 0), INVOICES!B:B)

我假设每个工作表的第 1 行都有列标题。A2这里指ABC

VLOOKUP首先查找 的CodeClientCode然后对工作表SUMIF中匹配的数量求和。CodeINVOICES

编辑:下面应该会更好,因为VLOOKUP只找到第一个匹配项,这在这里不起作用。

=SUM(SUMIF(INVOICES!A:A,IF(CLIENTS!A1=PROJECTS!C:C,PROJECTS!B:B),INVOICES!F:F))

请注意,您必须使用Ctrl++Shift才能Enter使用此公式。完成后ABC,您可以将公式拖到 B。另外请注意,他的公式可能需要一些时间来评估,因此,如果您将范围更改为适当的范围可能会更好。例如,如果INVOICES只有 100 行,则将 , 更改为INVOICES!A:A, ,对于此公式中的其他范围也是如此。INVOICES!B:BINVOICES!A2:A100INVOICES!B2:B100

于 2013-05-21T17:55:13.710 回答