Table of contents
如果你有跨越多个工作表的数据,你可能需要知道一些技巧来使用 SUMIF 在这篇文章中,我将向你介绍三种方法,通过这些方法你将能够使用 SUMIF 跨越Excel中的多个工作表。
比方说,在我们的数据表中,不同的销售员在不同的工作表中都有季度的销售额。 现在我们想计算不同销售员的年度销售额。 为此,我们必须将每个销售员不同季度的销售额加起来。
下载实践工作手册
跨越多个表的SUMIF.xlsm在多个页面上使用Sumif的三种方法
方法1:对每个工作表使用SUMIF函数
进行计算的一种方法是使用 SUMIF函数 假设,我们想在一个名为 "A "的工作表中计算每个销售员的年销售额。 销售摘要。 在单元格中键入以下公式 C5,
=SUMIF('Quarter 1'!B5:B9, 'Sales Summary'!B5, 'Quarter 1'!C5:C9)+SUMIF('Quarter 2'!B5:B9, 'Sales Summary'!B5, 'Quarter 2'!C5:C9)+SUMIF('Quarter 3'!)
在这里。 '季度1′!B5:B9' = 工作表中的范围 第一季度 在这里,标准将被匹配
'销售摘要'!B5′ =标准
'季度1′!C5:C9' = 工作表中的范围 第一季度 将从其中提取用于求和的值。
以类似的方式。 SUMIF 是用于所有的床单。
在按下 进入。 你将在单元格中得到马克所有三个季度的销售额的总和。 C5.
拖动销售 C5 到你的数据集的末尾,你将得到所有推销员的年销售额。
阅读更多:SUMIF在Excel中跨不同工作表的多个标准(3种方法)。
方法2:使用SUMPRODUCT SUMIF和INDIRECT函数
在不重复的情况下 SUMIF 函数多次,你可以使用 SUMPRODUCT函数 ,在 SUMIF 功能,以及 幂率函数 首先,我们将插入工作表的名称( 第1季度,第2季度,第3季度) 在我们将计算年销售额的表格中。
之后,在单元格中键入以下公式 C5,
=SUMPRODUCT(SUMIF(INDIRECT("'"&$E$5:$E$7&"'!$B$5:$B$9"),B5,INDIRECT(""&$E$5:$E$7&"'!$C$5:$C$9"))
在这里。 $E$5:$E$7 指的是季度销售值的不同表。
B$5:$B$9 =标准的查询范围
B5 是标准( 马克)。
$C$5:$C$9 如果标准匹配,=数值的范围。
在按下 进入。 你将在单元格中得到马克所有三个季度的销售额的总和。 C5.
拖动销售 C5 到你的数据集的末尾,你将得到所有推销员的年销售额。
类似读物
- 带有多个标准的SUMIF(5个最简单的例子)。
- Excel的SUMIF函数适用于多个标准(3种方法+奖金)
- 如何将Excel的SUMIF&VLOOKUP在多个工作表中结合起来
方法3:使用VBA在多个工作表之间求和
如果你有很多工作表,上述两种方法可能非常耗时和复杂。 为了使计算更快,你可以借助于 Visual Basic应用(VBA) 并制作一个自定义的公式。
第一次新闻发布会 ALT+F11 以打开 VBA 在工作表名称上点击右键并选择 插入> 模块。
将出现一个代码窗口。
在这个窗口中复制并粘贴以下代码。
Function SUMIFOS(lookup_value As Range, ParamArray cellranges() As Variant) Dim i As Integer, rng1 As Variant, temp As Single, a As Boolean Dim rng2 As Variant, value As Variant, j As Single If (UBound(cellranges) + 1) Mod 2 0 Then Exit Function End If For i = LBound(cellranges) To UBound(cellranges) Step 2 If cellranges(i).Rows.Count cellranges(i + 1).Rows.Count Then End If 如果cellranges(i).Columns.Count 1 然后退出函数 End If rng1 = cellranges(i).value rng2 = cellranges(i + 1).value For j = LBound(rng1) To UBound(rng1) For Each value In lookup_value If UCase(rng1(j, 1) = UCase(value) Then a = True Next value If a = True Then temp = temp + rng2(j, 1) a = False Next j Next i SUMIFOS = temp End职能
之后,关闭VBA窗口,在单元格中输入以下公式 C5,
=SUMIFOS(B5,'第1季度'!B5:B9,'第1季度'!C5:C9,'第2季度'!B5:B9,'第2季度'!C5:C9,'第3季度'!)
在这里。 SUMIFOS 是自定义函数。 B5 是查询值。 季度1′!C5:C9 是工作表中的数值范围,名为 第一季度 和 季度1′!B5:B9 是表单中标准的范围,名为 第一季度。 你可以在这个公式中插入任意多的工作表的值。
在按下 进入。 你将在单元格中得到马克所有三个季度的销售额的总和。 C5.
拖动销售 C5 到你的数据集的末尾,你将得到所有推销员的年销售额。
阅读更多:SUMIF多个范围[6个有用的方法]
总结
使用第一种方法对于非常大量的纸张来说不是很方便,因为它将消耗大量的时间。 如果你只有几张纸,你可以使用方法1。 但方法2和3对于非常大量的纸张将是有效的。
如果你在使用任何一种方法在多个工作表上应用SUMIF时遇到任何问题,请留下评论。