Excel – 总结然后小计?

同事在“X4:X38”中有一系列的值。 由于这些表格可能会被过滤,因此她希望使用小计函数来对它们进行求和 – 但是希望首先将所有值都进行四舍五入。

={SUM(ROUNDUP(X4:X38,0))} 

完美地工作。 然而,

 {SUBTOTAL(9,ROUNDUP(X4:X38,0))} 

生成一个通用的“您键入的公式包含错误”消息。 我已经尝试了各种明显的东西,比如在“综合”部分加上括号。

任何帮助,将不胜感激。

可以通过使用这个公式做到这一点没有帮手列:

=SUMPRODUCT(SUBTOTAL(2,OFFSET(X4:X38,ROW(X4:X38)-MIN(ROW(X4:X38)),0,1)),ROUNDUP(X4:X38,0))

OFFSET有效地将范围下移到传递给SUBTOTAL函数的单个单元格中,并根据每个单元格在滤波器之后是否可见,返回一个1或0值的数组 – 这个数组乘以四舍五入的值得到整体圆angular可见值的总和。

另一种方法是像这样使用AGGREGATE函数

=SUMPRODUCT(ROUNDUP(AGGREGATE(15,7,X4:X38,ROW(INDIRECT("1:"&SUBTOTAL(2,X4:X38)))),0))

考虑到复杂的帮手列可能是更好的方法

经过调查,看起来这是不可能的,没有帮手的专栏。

添加一个帮助列,将X列中的各个值四舍五入,例如,将以下公式input到Y4单元格中,并向下拖动到Y38

 = ROUNDUP(X4,0) 

然后,而不是

 = SUBTOTAL(9,ROUNDUP(X4:X38,0)) 

使用:

 = SUBTOTAL(9,Y4:Y38) 

然后,如果有必要,你可以隐藏帮手列。 当然,辅助列不一定是列Y ,它可以是任何列,例如数据结束位置的右边一列。