Excel公式减慢了Excel电子表格

时间:2017-11-01 03:46:36

标签: excel excel-vba excel-formula vba

我一直在Excel电子表格中应用这个公式,但是当我在多个单元格中输入此公式时,我的Excel计算处理器速度变慢并最终崩溃。有没有办法让这个公式更快地运作?

公式的目的:计算在公式中应用的2个条件(Y为正,主题名称为X)的过滤数据。

我所说的多个细胞是干燥+吸收能力是其中一个领域。不同品牌的领域很少(品牌A,品牌B,品牌C)

=SUMPRODUCT(
--(INDEX('Current Month'!$A:BJ,0,MATCH("Subject Name",'Current Month'!$A$1:$BJ$1,0))="Pampers"),
--(INDEX('Current Month'!$A:BJ,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0))="POSITIVE"),
--(IF(SUBTOTAL(103,INDIRECT("'Current Month'!$A"&ROW(A:A)&":$A"&ROW(A:A))),1,0)=1)
)

希望有人可以提供帮助,因为我多次尝试过,而且我的Excel一直在崩溃。谢谢。

2 个答案:

答案 0 :(得分:1)

excel崩溃的原因是:

INDEX('Current Month'!$A:BJ

这将是一个超过6500万个细胞阵列。

为数组命名,仅指定所需的行,并使用该行代替'Current Month'!$A:BJ。我没有检查你的其余配方,但这是我要开始的地方。其余阵列也是如此。

答案 1 :(得分:0)

您需要在公式中限制数组。

=SUMPRODUCT(SUBTOTAL(3,OFFSET('Current Month'!A1:A32,ROW('Current Month'!A1:A32)-MIN(ROW('Current Month'!A1:A32)),,1))*--(INDEX('Current Month'!$A1:BJ32,0,MATCH("Subject Name",'Current Month'!$A$1:$BJ$1,0))="Pampers")*--(INDEX('Current Month'!$A1:BJ32,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0))="POSITIVE"))