2017-07-03 82 views
0

我想弄清楚一种方式有一个动态SUMPRODUCT自动更新时,插入一个新的行(费用)与不同的单位价格。我目前使用=SUM(INDIRECT("D23 :"&ADDRESS(ROW()-2,COLUMN()))作为总和版本以获得单元总数,但是我需要做一个SUMPRODUCT以便将每个单元的不同成本与单元数量相加,从而导致该特定服务的总成本。列是提供的不同服务。 SUMPRODUCT不适用嵌套的INDIRECT和ADDRESS来创建数组。由于需要在底部进行多次错误检查,我不能使用表格。任何帮助将不胜感激!动态SUMPRODUCT自动更新与新行

+1

我想你可能只解释了你正在尝试的一半,什么。 – pnuts

+1

你为什么首先使用'INDIRECT'? –

+3

使用一个Excel Table对象,然后你可以像这个'TableName [ColumnName]一样引用这个列,并且将包含新的行。或者使用与数据一起增长的动态范围名称。间接是最糟糕的方法。 – teylyn

回答

0

您可以使用绝对引用和相对引用的组合,而不是间接引用。考虑此屏幕截图:

enter image description here

如果更多的行被插入总行上方的范围被称为与$F$7:F12,在总的配方将变更为=SUM($F$7:F13),即范围总是在F7启动,并会延长到当前单元格上方的一个单元格。

F14中的公式计算平均值,并使用=AVERAGE($F$7:F12)。当在总行上插入另一行时,公式将变为=AVERAGE($F$7:F13),即从单元格F7开始并将范围扩展到当前单元格上方的两个单元格。

这个概念可以在所有使用范围的公式中使用,没有问题。

+0

谢谢!这大大简化了我的专栏总计。我需要在底部有SUMPRODUCT总数,因为它使用数组而不是范围。有没有简化的动态数组与SUMPRODUCT一起使用的方法? – dpowers

+0

“数组,而不是范围”是什么意思?显示Sumproduct公式。 – teylyn

+0

'= SUMPRODUCT($ E $ 9:E28,$ H $ 9:H28)' – dpowers