谷歌表格公式重新计算怪癖

时间:2021-07-01 20:41:01

标签: google-sheets

这可能只是一个现有问题的复杂重复,我已经能够找到一两个与我在这里看到的相匹配的 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 (xy)”的工作表,其中 x 是季度值,y 是年份(即:“测试表(2021 年第一季度)”)。

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

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

1 个答案:

答案 0 :(得分:0)

试试:

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

enter image description here