【问题标题】:Google Sheets formula recalculation quirkGoogle表格公式重新计算怪癖
【发布时间】:2021-07-01 20:41:01
【问题描述】:

这可能只是现有问题的复杂重复,我已经能够找到一两个与我在这里看到的匹配的issues,但我很好奇原因是否只是用户是我自己的错误,或者这是我不知道的。

我有一个名为 Sheet1 的工作表,有 999 行。在此工作表上,单元格 A3、B3 和 C3 向下是年份值 (2021)、月份数字(1、2、3 等)和季度(Q1、Q2 等)。在单元格 D 中,我有以下长而简单的公式:

=SUMPRODUCT((MONTH(INDIRECT("TestSheet ("&C2&" "&A2&")!$C$3:$C$999"))=B2)*(YEAR(INDIRECT("TestSheet ("&C2&" "&A2&")!$C$3:$C$999"))=A2)*(INDIRECT("TestSheet ("&C2&" "&A2&")!$E$3:$E$999")))

此公式的作用是按月份对具有变量名称的工作表中的货币值求和(INDIRECT 用于引用名称为“TestSheet (x y)”的工作表,其中 x 是季度值,y 是年份(即:“测试表(2021 年第一季度)”)。

此公式按预期运行,并在这些工作表存在时正确地对变量工作表名称上的值求和。我遇到的问题是,即使在“电子表格设置”下的“计算”选项卡下选择了“每分钟更改一次”时,表格似乎也需要很长时间才能识别出工作表存在。通过在新工作簿上进行测试,其中该公式是唯一存在的并且不存在可能减慢重新计算的其他公式,即使在相关单元格更新后一小时,单元格值似乎也根本没有更新有数据。

根据我目前所掌握的情况,是否有任何迹象表明可能是原因?任何建议将不胜感激。

【问题讨论】:

  • 你能分享一份你的工作表的副本/样本吗?
  • 是的,让我快速删除一些真实世界的数据,我可以为您获取链接。

标签: google-sheets


【解决方案1】:

尝试:

=INDEX(SUMIF(TEXT(
 INDIRECT("TestSheet ("&C5&" "&A5&")!C2:C"), "yyyyM"), A5&B5, 
 INDIRECT("TestSheet ("&C5&" "&A5&")!E2:E")))

【讨论】:

  • 这似乎可以解决问题,谢谢!是 TEXT 条件在这里有所不同吗?
  • @Majora 我想说主要区别在于数组的处理。虽然您的初始方法在某种程度上有效,但与建议的方法相比,它的逻辑是落后的。在大规模(例如在您的情况下)每行都有公式垃圾邮件的情况下,它可以影响您编写公式逻辑的方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 2020-03-22
相关资源
最近更新 更多