如何在Microsoft Excel中仅汇总筛选后的单元格
Microsoft Excel中筛选功能介绍
在Microsoft Excel中,“筛选”一词主要用于通过暂时消除视图中的不相关条目来显示相关数据的目的。具体的数据根据个人给定的标准进行筛选。
此外,筛选数据或单元格的主要目的主要用于关注数据集的各个关键区域。
- 例如, 可以通过给定位置轻松筛选特定组织的按部门销售数据。因此,用户可以在给定的时间间隔内高效查看所选部门的销售情况。
另外,在处理大量数据库时需要使用筛选器。作为其中一个广泛使用的工具,特定的筛选器将全面的视图转换为易于理解的视图。如果需要应用筛选器,则数据集必须包含指定每个列名称的标题行。
在本教程中,我们将讨论三种重要的方法,可以用来计算Microsoft Excel中筛选的单元格的总和,具体如下:
- 使用SUBTOTAL函数在Excel中仅汇总筛选的单元格?
- 使用Microsoft Excel中的Aggregate函数。
- 在Microsoft Excel中使用自定义函数。
如何在Microsoft Excel中使用SUBTOTAL函数
众所周知,“SUBTOTAL函数”主要用于计算给定数据集中的小计。该函数的一些重要性在于,它会提供各种选项,可用于计算总计,例如:
- 求和。
- 平均值。
- 最大值和最小值。
SUBTOTAL函数提供2个选项用于计算总和:
- 第一个选项的工作方式与“SUM函数”类似。
- 另一个选项是可见单元格的求和,这是我们的目标。
语法: SUBTOTAL函数在Microsoft Excel中的语法如下:
SUBTOTAL (function_num, ref1, [ref2],)
其中:
- Function_num: Function_num主要是一个从1到11或从101到111的数字,指定需要用于子总计的函数。
- Ref1, Ref2: 我们想要有效地进行子总计的单元格或范围。第一个参照是必不可少的,不能被忽略。
下面提到的公式专门用于通过有效地使用SUBTOTAL函数对可见单元格进行求和:
公式:
=SUBTOTAL (109, H6:H17)
在这个函数中,第一个参数是函数编号。而且在输入SUBTOTAL函数时,也给出了该编号及其相关功能。然后,我们将找到两个求和选项:9和109。
函数编号9是求和功能的选项,而编号109也将用于相应地手动隐藏的单元格。
然后我们将从给定选项中选择109,所以SUBTOTAL函数基本上将对所选择的筛选单元格的值进行求和:
其次,对于第二个参数,我们可以直接引用单个单元格进行求和。我们选择了可见单元格,这些单元格将自动变为 H6:H17 。
现在我们将得到我们的结果:
所以现在这个函数在隐藏的行方面可以有效地工作,但对于隐藏的列就不能起作用。如果在公式所引用的范围中存在任何隐藏的行,则它们对应的值将不会包括在“子合计函数”的给定结果中。但是,如果存在任何隐藏列,不幸的是,这些特定的值可以轻松地进入子合计的结果中。
如何在Microsoft Excel中使用Aggregate函数
AGGREGATE函数在Microsoft Excel的特定数据库中返回一个聚合。所以问题是:它与SUBTOTAL函数有什么不同?
所以对于返回求和的目的,它们两者之间的一些基本区别在于它们的工作方式相似,但只有在AGGREGATE函数的情况下,我们可以手动选择要包括或排除在总计中的内容。
现在我们将看到AGGREGATE函数的工作方式,它将返回可见单元格的和。首先,我们将使用下面的公式:
公式:
=AGGREGATE (9, 5, H6:H17)
与SUBTOTAL函数相同,我们首先输入函数编号。在这种情况下,我们假设使用9来进行求和。
接下来,我们将获取Aggregate忽略的值的选项。在本例中,我们只需将选项5设为 忽略隐藏 的行,使得筛选行中的值成为一个合适的选择。
现在,对于特定的数组。我们已经输入了 H6:H17 。
并且AGGREGATE函数已经忽略了所有隐藏的行,并且求和的范围只包括可见的H6:H17。
在这里需要注意的是,公式中的选项仅提及隐藏行,而不是列。为什么?原因是AGGREGATE函数主要不适用于隐藏的列。
在Microsoft Excel中使用自定义的VBA函数
在这种方法中,我们将使用自定义函数来获取可见单元格的总和。不,我们不能随心所欲地创建Microsoft Excel中的函数;原因是我们将需要 VBA 以及 VBA 代码。
该代码可以通过 VBA 来使用,以创建函数,然后该函数可以像所有其他函数一样在特定的工作表上使用。
为什么我们要费心创建一个函数?我们需要帮助在SUBTOTAL函数和AGGREGATE函数中省略隐藏的列。但是在这个 VBA 函数中,我们可以让函数同时省略隐藏的行和列。
以下是我们将如何使用VBA(Visual Basic for Application)中的自定义函数来对可见单元格求和:
步骤1: 首先,我们将按下 Alt + F11 键以启动 VB ,或者如果我们已经添加了 开发人员选项卡 ,我们可以进入选项卡 代码 组 并单击 Visual Basic 按钮。
步骤2: 一旦打开了 VB 编辑器,我们将点击 插入选项卡 并从给定列表中选择 模块 。
步骤3: 在给定的 模块 窗口中,我们将复制并粘贴代码以添加函数。
Function SumVisible(WorkRng As Range) As Double
Dim rng As Range
Dim total As Double
For Each rng In WorkRng
If rng.Rows.Hidden = False And rng.Columns.Hidden = False Then
total = total + rng.Value
End If
Next
SumVisible = total
End Function
然后,将创建一个名为”SumVisible”的函数,可以用来计算给定数据集中选定单元格的总和,而忽略隐藏行和列中的值。
步骤4: 然后,我们将关闭VB。
步骤5: 现在,在我们想要总和的单元格中,我们将输入以下公式如下所示:
=SumVisible (H6:H17)
然后我们只需要输入创建的函数名称和范围。然后,函数将求出范围内所有给定值的总和,并返回总和:
注意:需要注意的是,隐藏行中的给定值以及列中的给定值将被排除在计算之外。请注意,一旦输入了特定的公式,如果我们需要隐藏一行,那么结果将调整以有效地排除隐藏的值。但是,如果我们隐藏一列,我们需要重新计算公式。
我们可以通过选择包含给定公式的单元格,并进入单元格编辑模式,按下 Enter 键来重新计算。