Excel - 汇总然后小计?
Excel - roundup then subtotal?
一位同事在 "X4:X38" 中有一组值。由于这些在可能被过滤的 table 中,她想使用小计函数对它们求和 - 但希望首先将所有值四舍五入。
={SUM(ROUNDUP(X4:X38,0))}
效果很好。然而,
{SUBTOTAL(9,ROUNDUP(X4:X38,0))}
生成通用 "The formula you typed contains an error" 消息。我已经尝试了各种明显的事情,比如在 "roundup" 部分周围放置额外的括号等。
如有任何帮助,我们将不胜感激。
经过调查,如果没有辅助列,这似乎是不可能的。
添加一个辅助列,将 X
列中的各个值四舍五入,例如在单元格 Y4
中键入以下公式并向下拖动到 Y38
:
= ROUNDUP(X4,0)
然后代替
= SUBTOTAL(9,ROUNDUP(X4:X38,0))
使用:
= SUBTOTAL(9,Y4:Y38)
然后,如果需要,您可以只隐藏辅助列。当然,辅助列不一定是 Y
列,它可以是任何列,例如数据结束位置最右侧的一列。
您可以使用以下公式在没有帮助列的情况下执行此操作:
=SUMPRODUCT(SUBTOTAL(2,OFFSET(X4:X38,ROW(X4:X38)-MIN(ROW(X4:X38)),0,1)),ROUNDUP(X4:X38,0))
OFFSET
有效地将范围分解为传递给 SUBTOTAL
函数的单个单元格,并且 returns 基于每个单元格是否可见的 1 或 0 值数组过滤后或不过滤后-此数组乘以舍入值以给出舍入可见值的总和。
另一种方法是像这样使用 AGGREGATE
函数
=SUMPRODUCT(ROUNDUP(AGGREGATE(15,7,X4:X38,ROW(INDIRECT("1:"&SUBTOTAL(2,X4:X38)))),0))
鉴于复杂性,辅助列可能是更可取的方法
一位同事在 "X4:X38" 中有一组值。由于这些在可能被过滤的 table 中,她想使用小计函数对它们求和 - 但希望首先将所有值四舍五入。
={SUM(ROUNDUP(X4:X38,0))}
效果很好。然而,
{SUBTOTAL(9,ROUNDUP(X4:X38,0))}
生成通用 "The formula you typed contains an error" 消息。我已经尝试了各种明显的事情,比如在 "roundup" 部分周围放置额外的括号等。
如有任何帮助,我们将不胜感激。
经过调查,如果没有辅助列,这似乎是不可能的。
添加一个辅助列,将 X
列中的各个值四舍五入,例如在单元格 Y4
中键入以下公式并向下拖动到 Y38
:
= ROUNDUP(X4,0)
然后代替
= SUBTOTAL(9,ROUNDUP(X4:X38,0))
使用:
= SUBTOTAL(9,Y4:Y38)
然后,如果需要,您可以只隐藏辅助列。当然,辅助列不一定是 Y
列,它可以是任何列,例如数据结束位置最右侧的一列。
您可以使用以下公式在没有帮助列的情况下执行此操作:
=SUMPRODUCT(SUBTOTAL(2,OFFSET(X4:X38,ROW(X4:X38)-MIN(ROW(X4:X38)),0,1)),ROUNDUP(X4:X38,0))
OFFSET
有效地将范围分解为传递给 SUBTOTAL
函数的单个单元格,并且 returns 基于每个单元格是否可见的 1 或 0 值数组过滤后或不过滤后-此数组乘以舍入值以给出舍入可见值的总和。
另一种方法是像这样使用 AGGREGATE
函数
=SUMPRODUCT(ROUNDUP(AGGREGATE(15,7,X4:X38,ROW(INDIRECT("1:"&SUBTOTAL(2,X4:X38)))),0))
鉴于复杂性,辅助列可能是更可取的方法