为什么这个公式不起作用:COUNTIF({1,2,3},2)
?
我可以使用带有范围的COUNT()
和COUNTIF()
,但我只能在 上用文字数组替换范围COUNT
,而不能在 上用文字数组替换范围COUNTIF
。
如果我LET
首先将数组分配给一个名称,然后我可以使用文字数组COUNTIF
,但我得到了错误的结果。
这是我正在使用的一个小测试的内容:
A | 笔记 | |
---|---|---|
1 | 1 | |
2 | 2 | |
3 | 3 | |
4 | ||
5 | =COUNT(A1:A3) | |
6 | =COUNTIF(A1:A3,2) | |
7 | =COUNT({1,2,3}) | |
8 | =COUNTIF({1,2,3},2) | Excel 不允许输入此公式 |
9 | ||
10 | =LET(a,A1:A3,COUNT(a)) | |
11 | =LET(a,A1:A3,COUNTIF(a,2)) | |
12 | =LET(a,{1,2,3},COUNT(a)) | |
十三 | =LET(a,{1,2,3},COUNTIF(a,2)) | Excel 允许这样做,但结果是错误的 |
以下快照显示了我尝试使用的公式:
下面的快照显示了结果:
以下快照显示了我尝试在 A8 中输入公式时出现的错误消息:
答案1
在任何公式中,您都不能使用数组代替范围*IF(S)
。它们需要范围。
使用 SUMPRODUCT 可以完成大多数任务:
=SUMPRODUCT(--({1,2,3}=2))
这将返回一个数组:{0,1,0}
SUMPRODUCT 然后将它们相加并返回1