在Excel中跨越多个工作表的SUMIF(3种方法)

  • Share This
Hugh West

如果你有跨越多个工作表的数据,你可能需要知道一些技巧来使用 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时遇到任何问题,请留下评论。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.