旧版本的Excel不正确地做arrays公式?

=SUM(IF((A:A="a")*(B:B="b1")+(B:B="b2"),1,0)*(C:C)) 

为什么这个公式不起作用?

它工作,如果我限制行数

 =SUM(IF((A1:A10="a")*(B1:B10="b1")+(B1:B10="b2"),1,0)*(C1:C10)) 

提前致谢。

其实我只是在家里的电脑上试过,两个公式都起作用。 但是当我在办公室电脑上工作时,第一个没有工作。 办公室电脑有一个老版本的Excel。

办公室是2007年vs家是2013年

由于性能方面的原因,您不能在数组公式中引用整列。

“整列”规则

尽pipe可以在Excel中创build非常大的数组,但不能创build使用整列或多列单元格的数组。 由于重新计算使用整列单元格的数组公式会导致Excel不允许您在公式中创build此类数组。

显然你可以通过简单地引用大部分的列(或整个列 – A1:A65535 – 用于Excel 2003)或使用dynamic范围来绕过这一点。