基于列和行的计数

Count based on column and row

我似乎找不到类似这个问题的东西... 我有一个数组 table,其中每一行包含随机排列的数字 1-N

在另一个 sheet 上,我有一个 table 列和行 headers 编号为 1-N

我想计算数组中有多少 包含 中给定单元格的列和行 headers [=31] =]. 由于 countifs 仅引用指定数组中的当前单元格,因此它们在这种情况下似乎不起作用。

示例数组:

A B C D
1 3 5 7
1 2 3 4
2 3 4 5
2 4 6 8
...

Table 结果(关于对角线对称):

A B C D E F
. 1 2 3 4 5 ...
1 - 1 2 1 1
2 1 - 2 2 1
3 2 2 - 2 2
4 1 2 2 - 1
5 1 1 2 1 -

使用嵌套 countifs 可行吗?

我不同意你的结果对应于 4/2,它肯定应该是 3,而不是 2,但是这个公式,基于 Sheet1 A1:D4 中的数组 table 和结果 table 在 Sheet2 A1:F6 中,放在后者的单元格 B2 中,应该有效:

=IF($A2=B,"-",SUMPRODUCT(N(MMULT(N(COUNTIF(OFFSET(Sheet1!$A:$D,ROW(Sheet1!$A:$D)-MIN(ROW(Sheet1!$A:$D)),),CHOOSE({1,2},B,$A2))>0),{1;1})=2)))

根据需要横向和向下复制。

注意: 如果您的实际 table 实际上比给定的大得多,可能值得在上面添加一个简单的子句,大意是大约一半的单元格的结果是从它们的对称对应单元格中获得的,而不是通过这种构造的计算,从而节省了资源。

此致