2017-10-06 88 views
0

我有一个包含多个工作表的电子表格,其中包含名称和分配给每个名称的点列表。对于每个人,我想总结他们的所有积分来确定总积分。我在我的问题中给出了两个示例表,但总计可能需要包含多达4张表。并非所有列表的顺序相同,并且并非所有名称都出现在每个列表中。出现在每张纸上并不是必需的,但我仍然需要一个总数来存放个人所有的纸张。根据个人姓名对多张表进行总计总计

例如:表1

=========== =========== ======== 
    FirstName LastName  Points 
    =========== =========== ======== 
    Phil  Bloor   7 
    Steve  Burke   14       
    Teresa  March   18 
    Roger  Sander   9 
    Angela  Umber   3 
    =========== =========== ======== 

表2

=========== =========== ======== 
    FirstName LastName  Points 
    =========== =========== ======== 
    Phil  Bloor   4 
    Angela  Umber   17       
    Sarah  McComb   22 
    Roger  Sander   4 
    Shaun  Burns   8 
    =========== =========== ======== 

感谢您的帮助!!!!!

+0

看看'3d SUMIF' –

+1

这是一个链接:https://exceljet.net/formula/3d-sumif-for-multiple-worksheets –

回答

0

我想不出怎么才能让整个片SUMIF工作条件(即,基于目前的名称)。不过,这是一个解决方法。

假设你已经拥有了第一个和你的目标表中列出姓名,则可以列出所有数据表旁边的名字和姓氏标题的名字。然后,您可以使用SUMIFS和INDIRECT的组合来获得您想要的结果。

在C1粘贴此公式:

=SUMIFS(INDIRECT(C$1&"!C:C"),INDIRECT(C$1&"!A:A"),$A2,INDIRECT(C$1&"!B:B"),$B2) 

细胞已被冻结,使得它们可以被复制到其它靶细胞,而无需修改该公式。

这将获取你的人明智的每个表金额。然后,您可以在靶纸年底共列,例如:

+---+-----------+----------+--------+--------+-------+ 
| |  A  | B  | C | D | E | 
+---+-----------+----------+--------+--------+-------+ 
| 1 | FirstName | LastName | Sheet1 | Sheet2 | Total | <-- Headings 
+---+-----------+----------+--------+--------+-------+ 
| 2 | Phil  | Bloor | 7  | 4  | 11 | 
| 3 | Angela | Umber | 3  | 17  | 20 | 
| 4 | Sarah  | McComb | 0  | 22  | 22 | 
| 5 | Roger  | Sander | 9  | 4  | 13 | 
| 6 | Shaun  | Burns | 0  | 8  | 8  | 
| 7 | Steve  | Burke | 14  | 0  | 14 | 
| 8 | Teresa | March | 18  | 0  | 18 | 
+---+-----------+----------+--------+--------+-------+ 
0

创建每个数据表的范围在每片

选中第一个表和去得到&变换(或PowerQuery选项卡),然后单击来自表格并添加Tabl,然后选择关闭并加载到“仅创建连接”。

重复其他表格。

然后去新建查询>联合查询>附加>三个或多个表>选择您刚通过查询添加你的表即按添加,直到所有的表移动到右侧。

添加列选项卡>自定义列>给新的列名作为“全名”和公式名字&名字>单击OK>变换标签>分组依据>全名。

那么新列名= “TotalPoints”,操作=总和,列= “点”

首页标签>关闭和负载的输入。

你将有包含来自所有其他和求和点的数量为名字和姓氏的每个组合产生一个表中的新的片材。

会有称为Append1一个工作簿的查询,您可以通过点击绿色箭头刷新。这将更新汇总表,以查找输入到其他表中的任何新数据。

1

使用SUMIFS,SUMPRODUCTINDIRECT,您可以通过一些调整使其工作。

假设你已经列出的名称,这里如果你把配方从cell C2你如何能做到:

=SUMPRODUCT(SUMIFS(INDIRECT("'"&$E$2:$E$3&"'!"&"$C$2:$C$100"),INDIRECT("'"&$E$2:$E$3&"'!"&"$A$2:$A$100"),A2,INDIRECT("'"&$E$2:$E$3&"'!"&"$B$2:$B$100"),B2)) 

基本上,INDIRECTSUMIFS将汇总所有的表您需要评估并使其与SUMPRODUCT排列在一起。希望这可以帮助。