Excel 计算列中最后十三行的总和的公式
我在寻找一个公式,从底部开始计算一列中最后十三行的总和。我发现:Excel 计算列中最后十三行的总和的公式,excel,excel-formula,sum,Excel,Excel Formula,Sum,我在寻找一个公式,从底部开始计算一列中最后十三行的总和。我发现: =SUM(INDEX(R:R,MATCH(9.99999999999999E+307,R:R,1)):INDEX(R:R,MATCH(9.99999999999999E+307,R:R,1)-13,0)) 它在大多数情况下都有效,除非最后十三行是空的,它将最后十三个数字相加,从最后一个填充的值开始。以下是一个例子: 正如您所见,第V列给出了7.4,因为它计算了最后十三个值——远远超过了底部的最后十三个值 如何使公式将空单元格
=SUM(INDEX(R:R,MATCH(9.99999999999999E+307,R:R,1)):INDEX(R:R,MATCH(9.99999999999999E+307,R:R,1)-13,0))
它在大多数情况下都有效,除非最后十三行是空的,它将最后十三个数字相加,从最后一个填充的值开始。以下是一个例子:
正如您所见,第V列给出了7.4,因为它计算了最后十三个值——远远超过了底部的最后十三个值
如何使公式将空单元格计算为零,从而在V中给出
0
?似乎您正在寻找一种方法来确定列中最后一个非空行的行数(并从那里倒数),以确定您的SUM()
范围。如果您愿意添加帮助器列和/或将数据格式化为帮助器,那么有两个更简单的公式。(如果有,请在评论中告诉我&我可以修改答案)
但是,如果不使用辅助单元格和列,您可以尝试以下操作:将大写字母A
更改为您选择的列=SUM(间接(“A”)和索引(行(A:A),MAX((A:A“”)*(行(A:A)))和“:A”&索引(行(A:A),MAX((A:A“”)*(行(A:A))-13))
说明:
索引(行(A:A),MAX((A:A“”)*(行(A:A))
确定A列中最后一个非空行(贷记到)。这是一个函数,必须使用ctrl+shift+enter进行初始化,然后公式应以大括号括起来{=SUM(
..)}
INDIRECT()
允许您为SUM()
函数声明动态范围。INDIRECT()
函数的内部参数计算结果为Ax:Ay
,其中x
和y
是从第13行到最后一行和最后一行的行引用=SUM(命名的范围1,命名的范围2,…命名的范围13)
,无需使用数组公式
希望这有帮助 对于我解释的需求,我建议在V112中:
=SUM(OFFSET(V112,-13,0,13,1))
如果需要,请在不同的单元格中更改参考和行偏移量。对最后的N行数据求和。
这是我对要求的理解:
数据
顶部有两行标题和另外两行总计,因此Excel表格
不适用
行6:7
包含迄今为止的总计
和最后一页总计
TOTALS LAST PAGE
是数据的最后13行的总和。因此,我们需要识别数据的最后一行,而不是最后一个非空行
此解决方案假定:
数据
位于范围C3:R38
(根据需要调整),前4行作为标题和总计;数据详细信息从第7行开始
为了能够计算数据最后一行
,我们需要确定一个字段,该字段的最后一行单元格始终填充(即,它永远不会为空)。为了演示此解决方案,我假设此字段位于列C
中。还假设需要添加总计的字段位于列F:R
此解决方案适用于以下三个工作单元
数据最后一行
:此公式数组
是公式的重要组成部分,用于添加多个列(+20个字段)的上一页总计
,因此在一个工作单元格中只保留一次,将减少执行工作簿计算所需的资源
在单元格I2
(同时按[Ctrl]
+[Shift]
+[Enter]
可输入公式数组)
现在,为了获得上一页的总计
,我们在单元格F6
中输入其中一个公式,并复制到范围G6:R6
a<代码>要添加的最后一行(计算)
已实现工作单元
=SUM( OFFSET( INDEX(F:F, $I$2, 0 ), 0, 0, -$M$2 ))
=SUM( OFFSET( INDEX(F:F, $I$2, 0 ), 0, 0, -$E$2 ))
b<代码>要添加的最后一行(计算)
工作单元格否已实现
=SUM( OFFSET( INDEX(F:F, $I$2, 0 ), 0, 0, -$M$2 ))
=SUM( OFFSET( INDEX(F:F, $I$2, 0 ), 0, 0, -$E$2 ))
始终添加最后13行数据,无论其内容如何
要添加的最后一行(计算)
未执行,并且数据
的记录少于13条<代码>最后一页的总计
不准确,因为下面的总计也已添加您是否尝试对第99行到第111行进行合计?如果是这样,您可以使用=SUM(R99:R111)
不,不仅仅是添加第99-111行,即使我添加了更多的行,公式也应该不断地添加每列的最后13行。您想将每列中最后一个非空白单元格与其上方的12个单元格相加吗?这将非常缓慢地运行,因为查看整列的数组公式实际上查看的是整列,而不仅仅是单元格在使用范围内。但是,由于OP只需要这些公式中的一个,这应该不是什么大问题。@Grade'Eh'Bacon是的,使用ctrl
+t
格式化为表格会更容易计算,但是OP中给出的示例似乎没有。您好,谢谢您的评论。我的原始公式存在的问题是,它对从第111行到第98行的所有值进行计数,如果您查看单元格G6=16.5,则该值是正确的,但在单元格V6中,该值显示为7.4,因为它无法识别v111到v98空单元格作为一个数字,因此它在V cel中找到第一个数字,然后将该值的13行相加exmpl:我希望它给出这个ca中从V111到V98的值