【问题标题】:Partial sum with SUM and INDEXSUM 和 INDEX 的部分求和
【发布时间】:2023-02-22 18:49:34
【问题描述】:

正如您在下面的屏幕截图中看到的,我编写了以下公式来计算第 3 行到第 11 行的部分和:

=SUM(INDEX(A1:A15,E1):INDEX(A1:A15, E2))

它有效,但我无法解释为什么?好像我写了 =SUM(3:11) 应该返回 14,但不知何故它理解我想要的范围不是 3 到 11 个数字,而是 A 列中从第 3 行到第 11 行的元素。我可以在INDEX 的手册中理解这一点,我们读到:

INDEX 返回单元格的内容,由行和列指定 抵消。

这意味着它返回的不是单元格的引用,而是它的内容——它的值。我们怎么解释呢?

【问题讨论】:

  • SUM(3:14) 在您的情况下不应返回 14。它将对第 3-14 行中的每个单元格求和 (SUM(3:14)=SUM(A3:ZZZ14))。就像 SUM(A:D) 会对这些列中的每个单元格求和,但不会对字母“A”+“D”求和。通过使用 INDEX 和范围 A:A,您可以将表格从 A:ZZZ 缩小到 A:A,因此它只会对 A 列中的值求和。

标签: google-sheets sum spreadsheet


【解决方案1】:

INDEX 根据使用它的上下文改变它的行为。因为您使用了 INDEX(...):INDEX(...) 构造(即范围运算符 (:) 的任一侧),这被解释为您希望每个 INDEX 引用一个单元格引用(如是范围运算符具有任何意义的唯一上下文)。

因此,在这种情况下,您的公式解析为 =SUM(A3:A11)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多