数组常量不能按预期在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中引入数组公式
- 使高级数组公式工作
他们会暗示,数组常量将用于不带范围的项目,但是:
- 要么是一个数组,这会导致一个单一的值–
- 单值,导致数组( 必须使用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
。