数组常量不能按预期在Excel中工作

我试图使用一个数组常量做一些计算。 我看到这个线程: 在Excel中的数组常量 ,但我在公式内使用数组常量,所以它不是relivant。 如果我使用=SUM({1,2,3}) ,结果如预期的那样是6 。 但是,如果我使用DCOUNT ,它不会按预期方式工作:

  A 1 Colour 2 Red 3 Yellow 4 Green 5 Red 6 7 Colour 8 =Red 

=DCOUNT(A1:A5;;A7:A8)是2。

=DCOUNT(A1:A5;;{"Colour";"=Red"})#Value! 。 错误消息是公式中使用的值是错误的数据types。

这在MS Excel 2010中有一些不一致吗? 还是我做错了什么?

编辑

有人build议“=红色”是问题,但是在常量 IMO中可以使用的元素标题中引用此页面并不能真正展开它。 如果是这个问题,那么下面的工作应该是:

  A 1 Number 2 1 3 2 4 3 5 1 6 7 Number 8 1 

公式=DCOUNT(A1:A5;;A7:A8)给出2 ,但公式=DCOUNT(A1:A5;;{"Number";1})=DCOUNT(A1:A5;;{"Number";"1"})两个仍然给我以前的例子相同的错误。

一个范围可以用作一个数组,但是一个数组不能用作一个范围。

由于DCOUNT只指定一个范围参数,所以数组常量是该参数的非法types。

根据这些页面:

  • 在Excel中引入数组公式
  • 使高级数组公式工作

他们会暗示,数组常量将用于不带范围的项目,但是:

  1. 要么是一个数组,这会导致一个单一的值
  2. 单值,导致数组( 必须使用Ctrl-Shift-Enter生成数组结果

做我正在做的事情(包括范围A2:A5中包含stringRed所有单元格),我会做这样的事情:

  A 1 Colour 2 Red 3 Yellow 4 Green 5 Red 

=SUM(IF(A2:A5="Red", 1, 0)) ,它将通过创build中间数组{1;0;0;1}来计算红色条目的数量,然后将所有元素相加,得到2