Arrays 对范围内的二维阵列进行计数

Arrays 对范围内的二维阵列进行计数,arrays,excel,formula,Arrays,Excel,Formula,我有一张地图,我想分别计算不同数字的模式 没有VB,我想能够创建一个动态计数器,将能够计数的数字模式 例如: 我想数一数这种模式在地图上出现的次数,即使它重叠 2 2 2 2 计数我可以看到模式出现了六次,但我正在努力创建一个简单的数组公式,可以做到这一点 有人告诉我使用嵌套的and函数和IF函数成功,所以我知道不用VB也可以完成。使用公式 =COUNTIFS(A1:E15,2,B1:F15,2) 请注意这两个区域是如何相邻的-一列彼此偏移 您可以对此进行扩展以查找两个接两个的区域: =

我有一张地图,我想分别计算不同数字的模式

没有VB,我想能够创建一个动态计数器,将能够计数的数字模式

例如:

我想数一数这种模式在地图上出现的次数,即使它重叠

2 2
2 2
计数我可以看到模式出现了六次,但我正在努力创建一个简单的数组公式,可以做到这一点

有人告诉我使用嵌套的and函数和IF函数成功,所以我知道不用VB也可以完成。

使用公式

=COUNTIFS(A1:E15,2,B1:F15,2)
请注意这两个区域是如何相邻的-一列彼此偏移

您可以对此进行扩展以查找两个接两个的区域:

=COUNTIFS(A1:E14,2,B1:F14,2,A2:E15,2,B2:F15,2)
只是要非常小心不同的范围是如何偏移的

另一种写这篇文章的方法,我想,对于大范围来说,会更有效:

=SUMPRODUCT((A1:E14=2)*(B1:F14=2)*(A2:E15=2)*(B2:F15=2))

这是
COUNTIFS
的巧妙用法。我想到了更复杂的东西。谢谢你@Douglancy。是的,我想可以用更复杂的东西,也许是OFFSET(),也许是数组公式。我可能会探索这一点——只是为了挑战;)这里有一个数组公式
=SUM(IF($A$1:$E$14=2,IF($B$1:$F$14=2,IF($A$2:$E$E$15=2,IF($B$2:$F$15=2,1,0),0),0))
,但是SUMPRODUCT要简单得多,而且也在做同样的事情。嗨,安迪,这太棒了。我想我已经试过了。非常感谢!