Excel - 综述然后小计?

时间:2017-11-08 15:41:07

标签: excel excel-formula subtotal roundup

一位同事在“X4:X38”中有一系列值。由于这些是在可以过滤的表中,她想使用小计函数对它们求和 - 但是希望首先对所有值进行舍入。

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

效果很好。然而,

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

生成通用“您键入的公式包含错误”消息。我尝试了各种显而易见的事情,比如在“综合”部分附加额外的括号等等。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

可以使用此公式在没有辅助列的情况下执行此操作:

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

OFFSET有效地将范围分解为传递给SUBTOTAL函数的单个单元格,并根据过滤后是否每个单元格可见而返回1或0值的数组 - 这数组乘以舍入值,得出圆形可见值的总和。

另一种方法是使用AGGREGATE这样的功能

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

鉴于复杂性,辅助列可能是更好的方法

答案 1 :(得分:0)

经过调查,如果没有辅助列,这似乎是不可能的。

添加一个辅助列,用于对列X中的各个值进行舍入,例如在单元格Y4中键入以下公式,然后向下拖动到Y38

= ROUNDUP(X4,0)

然后而不是

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

使用:

= SUBTOTAL(9,Y4:Y38)

然后,如果有必要,您可以隐藏辅助列。当然,辅助列不必是列Y,它可以是任何列,例如数据结束处右侧的一列。