Google 表格中的引用发生了变化,提交了新的表格

References changing in Google Sheets with new forms submissions

我有一个 Google sheet,它从 Google 表单提供信息,然后我使用 sheet 创建视图以在 [=42] 上显示数据和图形=] 网站。我注意到图形突然显示 'No Data',当我检查时,似乎出于某种原因,提供此类表格的范围已将其引用的单元格更改为提交表单中的最新行,而不是保留范围,即使它是固定的。

我不知道为什么会发生这种情况或如何发生,但它发生在不同的地方和不同的公式以及 sheets,不是全部,而是很多。以前它工作正常。

这同样发生在 1 个单元格和列数组的公式中。变化仅仅是,而不是使用让我们说 L2:L,它将 2 更改为 54,所以它像 L54:L 一样结束,即使它被固定为 $

例如:原来$AA:$AA变成了$AA:$AA

注意:这影响了随机部分,具有相同公式的其他列可能不会受到影响,无论它们是引用相同的列还是相邻的列。

以下是此更改的示例,其中 54 应该是 2。

1:作用于整列的数组。

    ={"Person";ArrayFormula(IF(LEN(A54:A), 'Responses'!AL54:AL&"" &                                 
    'Responses'!AK54:AK&
    " " & 'Responses'!AJ54:AJ&
    " " & 'Responses'!AI54:AI
    ,""))}

2:仅对具有固定范围的响应计数

    =COUNTIF('Responses'!$AY:$AY, "si")

和 3:不同值的计数

    =countifs('Responses'!$AA:$AA,"Sí",
                'Responses'!$AD:$AD, "<>Rod",
                'Responses'!$AD:$AD, "<>Ato",
                'Responses'!$AD:$AD, "<>Ref",
                'Responses'!$AD:$AD, "<>Cua"
                )

没有错误消息。

我只是想了解这是怎么发生的,以避免它在进一步的表单提交(由另一个人完成)中再次发生并更正此问题(希望不是手动)。

要真正锁定你需要使用的范围INDIRECT:

={"Person"; 
 ARRAYFORMULA(IF(LEN(INDIRECT("A2:A")), INDIRECT("Responses!AL2:AL")&"" &
 INDIRECT("Responses!AK2:AK")&
 " " & INDIRECT("Responses!AJ2:AJ")&
 " " & INDIRECT("Responses!AI2:AI"), ))}

=COUNTIF(INDIRECT("Responses!AY2:AY"), "si")

=COUNTIFS(INDIRECT("Responses!AA2:AA"), "Sí",
          INDIRECT("Responses!AD2:AD"), "<>Rod",
          INDIRECT("Responses!AD2:AD"), "<>Ato",
          INDIRECT("Responses!AD2:AD"), "<>Ref",
          INDIRECT("Responses!AD2:AD"), "<>Cua")