Excel公式在x行数后停止工作

问题描述

Excel公式在x行数后停止工作

4年前发布了类似的问题。有两个答案。我都复习了。最初的反应很好,但这不是造成我问题的原因。第二个回答是,答复者有相同的问题,他或她做了什么来解决这个问题,这在我的情况下是行不通的。没有解释为什么会出现问题。

这是我的问题。我正在使用以下公式:

IF(MONTH(MDB.xlsx!Date)= 7,SUMIFS(MDB.xlsx!_910,MDB.xlsx!Activity,“ MGRINC”,MDB.xlsx!AcctNum,$ Y202),0)

MDB是主数据库。它目前有214行,但将大幅增长到大约5000行。 MDB中的命名范围当前定义为1到500行。上面的公式在电子表格中,大约有300行。该公式在201行中正常工作。从202开始,它仅返回零。

这就是我所做的:

  • 我使用F9查看了公式的组成部分,所有值和数组均正确报告。 (这就是为什么当前定义的名称范围仅设置为500行的原因,因此我可以使用F9细分公式,而在8192个字符后不会出现错误。)
  • 如果我将具有此公式的行从202行移至较早的行,则效果很好。
  • 如果我删除前面的行,则该公式可以正常工作。

这似乎是某种内存问题,但我不明白为什么。我已经建立了更大,更复杂的电子表格,其中一些只需几分钟即可计算出来。 有什么想法吗?

解决方法

在Sumif中提取月份将不起作用。您可以添加两个条件,其中一个测试日期大于等于7月1日,第二个测试日期小于等于7月31日。

=SUMIFS(MDB.xlsx!_904,MDB.xlsx!Date,">="&date(2020,7,1),"<="&date(2020,31),MDB.xlsx!Activity,"MGRINC",MDB.xlsx!AcctNum,$Y202)

或者,您可以在源数据中添加具有月份号的列,然后测试该月份号

或者,您可以将公式更改为使用SumProduct而不是Sumif,将月份过滤器合并到SumProduct参数中,如下所示:

=Sumproduct((MONTH(MDB.xlsx!Date)=7),--(MDB.xlsx!Activity="MGRINC"),--(MDB.xlsx!AcctNum=$Y202),MDB.xlsx!_910)

使用仅测试月份数形式的公式时,将忽略年份,因此,如果您的数据跨越多个年份,则可能需要添加一个用于检查年份的参数。

请注意,所有这些公式都是常规公式,不需要数组输入。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...