首页 > 解决方案 > 使用函数作为参考起点

问题描述

我有=SUMPRODUCT(MAX(($A$6:A21<>"")*ROW($A$6:A21)))返回列/范围中最后一个非空白行的函数。如何使用结果(在本例中为 18)作为另一个函数(在同一单元格中)的起点。我想用它来表示=SUM(F18:F30),但 18 将是SUMPRODUCT函数本身。

标签: excel

解决方案


使用索引():

=SUM(INDEX(F:F,SUMPRODUCT(MAX(($A$6:A21<>"")*ROW($A$6:A21)))):F30)

作为一个仅供参考,这也可以使用 OFFSET 和 INDIRECT 来完成,但这些是不稳定的函数,应该避免大量使用,因为太多会减慢 Excel 中的用户体验。


另一种非数组类型的公式是使用 MATCH 而不是 SUMPRODUCT。

如果 A 中的值是文本,那么我们可以替换:MATCH("zzz",A:A)

=SUM(INDEX(F:F,MATCH("zzz",A:A)):F30)

如果我们用数字代替:MATCH(1E+99,A:A)

=SUM(INDEX(F:F,MATCH(1E+99,A:A)):F30)

推荐阅读