交叉引用Excel工作表

时间:2013-05-21 17:42:31

标签: excel formulas sumifs

我正在使用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)

1 个答案:

答案 0 :(得分:0)

可以在没有任何辅助列的单个单元格中使用VLOOKUPSUMIF,但您需要在{{ClientCodeCode中交换列的位置1}}让它发挥作用。

如上所述交换列位置(以便PROJECTSClientCode之前),然后使用:

Code

我假设每个工作表的第1行都有列标题。 =SUMIF(INVOICES!A:A, VLOOKUP(CLIENTS!A2, PROJECTS!B:C, 2, 0), INVOICES!B:B) 这里指的是A2

ABC首先查找VLOOKUP的{​​{1}}和Code,然后将ClientCode工作表中匹配的SUMIF的数量相加。

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

INVOICES

请注意,您必须使用 Ctrl + Shift + Enter 才能使用此公式。在为VLOOKUP执行此操作后,您可以将公式拖动到B.另请注意,他的公式可能需要一些时间来评估,因此,如果将范围更改为适当的范围可能会更好。例如,如果=SUM(SUMIF(INVOICES!A:A,IF(CLIENTS!A1=PROJECTS!C:C,PROJECTS!B:B),INVOICES!F:F)) 只有100行,则ABCINVOICES更改为INVOICES!A:AINVOICES!B:B,此公式中的其他范围也是如此。< / p>