如何在 excel 中将 subtotal 与 averageif 结合使用
您可以使用以下公式在 Excel 中组合SUBTOTAL和AVERAGE函数:
=AVERAGE(IF(SUBTOTAL(2,OFFSET( C2 ,ROW( C2:C11 )-ROW( C2 ),0)),IF( B2:B11 ="Guard", C2:C11 )))
这个特定的公式允许您计算范围 C2:C11 中的值的平均值,其中范围 B2:B11 中的相应值等于“保留”,即使在以某种方式过滤该单元格范围之后也是如此。另一个。
下面的例子展示了如何在实践中使用这个公式。
示例:如何在 Excel 中将 SUBTOTAL 与 AVERAGEIF 结合使用
假设我们有以下数据集,其中包含有关各种篮球运动员的信息:
接下来,我们过滤数据以仅显示西部联盟球员所在的行。
为此,请突出显示单元格区域A1:C11 。然后单击顶部功能区的“数据”选项卡,然后单击“过滤器”按钮。
然后单击Conference旁边的下拉箭头,并确保仅选中West旁边的框,然后单击OK :
数据将自动过滤以仅显示 Conference 列等于West的行:
如果我们尝试使用AVERAGEIF()函数来计算 Position 列值等于“Guard”的 Points 列值的平均值,它实际上会返回等于“Guard”的行的点数平均值。”在原始数据集中:
相反,我们需要使用以下公式:
=AVERAGE(IF(SUBTOTAL(2,OFFSET( C2 ,ROW( C2:C11 )-ROW( C2 ),0)),IF( B2:B11 ="Guard", C2:C11 )))
以下屏幕截图显示了如何在实践中使用该公式:
此公式返回正确的平均值21.25 。
我们可以通过手动平均 Position 列等于“Guard”的行的点值来确认这是正确的:
平均后卫得分:(12 + 28 + 30 + 15) / 4 = 21.25 。
其他资源
以下教程介绍了如何在 Excel 中执行其他常见操作: