【问题标题】:Older version of excel does not do array formulas properly?旧版本的 excel 不能正确执行数组公式?
【发布时间】:2014-02-25 22:30:52
【问题描述】:
=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 年,家是 2013 年

【问题讨论】:

  • 也可以试试这个公式:=SUMPRODUCT(((A:A="a")*(B:B="b1")+(B:B="b2"))*(C:C))。它确实需要数组条目。

标签: excel


【解决方案1】:

由于性能原因,您不能在数组公式中引用整个列,如 here 所述。

“整列”规则

虽然你可以在 Excel,您不能创建使用整列或多列的数组 单元格列。因为重新计算使用 整列单元格很耗时,Excel 不允许您 在公式中创建这种数组。

显然,您可以通过简单地引用列的大部分(或整个列 - A1:A65535 - 对于 Excel 2003)或使用动态范围来绕过此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多