excel公式怎么统计至少在一列中满足条件的行数( 二 )


使用N函数强制转换成数字:
N(B2:J14>1000)
得到:
{1,1,1,1,1,1,1,1,1;0,0,1,1,1,1,1,1,1;0,0,1,1,0,1,1,1,1;0,0,0,0,0,1,1,1,0;1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1,1;0,1,0,0,0,0,1,0,1;1,1,1,1,1,1,1,1,1;0,0,0,0,0,0,0,0,0;1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,0,1;0,0,0,0,0,0,0,0,0;1,1,1,1,1,1,1,1,1}
现在,为了计算每一行中1的数量,我们使用MMULT 。并且,由于上述数组(一个13行乘9列的数组)包含9列,因此我们用来形成乘积的矩阵的行数必须等于该数组的列数 。这样,形成第二个矩阵的公式构造为:
TRANSPOSE(COLUMN(B2:J14)^0)
转换为:
TRANSPOSE({2,3,4,5,6,7,8,9,10}^0)
转换为:
TRANSPOSE({1,1,1,1,1,1,1,1,1})
由于必须确保由9个1组成的数组由9行组成,因此使用TRANSPOSE函数来转换:
{1;1;1;1;1;1;1;1;1}
这样,就可以将上述两个数组传递给MMULT函数,因此:
MMULT(N(B2:J14>1000),TRANSPOSE(COLUMN(B2:J14)^0))
转换为:
MMULT({1,1,1,1,1,1,1,1,1;0,0,1,1,1,1,1,1,1;0,0,1,1,0,1,1,1,1;0,0,0,0,0,1,1,1,0;1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1,1;0,1,0,0,0,0,1,0,1;1,1,1,1,1,1,1,1,1;0,0,0,0,0,0,0,0,0;1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,0,1;0,0,0,0,0,0,0,0,0;1,1,1,1,1,1,1,1,1},{1;1;1;1;1;1;1;1;1})
得到:
{9;7;6;3;9;9;3;9;0;9;8;0;9}
然后,确定该数组中哪些元素大于0,然后将结果求和 。因此,公式:
=SUM(N(MMULT(N(B2:J14>1000),TRANSPOSE(COLUMN(B2:J14)^0))>0))
转换为:
=SUM(N({9;7;6;3;9;9;3;9;0;9;8;0;9}>0))
转换为:
=SUM(N({TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}))
转换为:
=SUM({1;1;1;1;1;1;1;1;0;1;1;0;1})
结果为:
11
如果不想使用数组公式,可以使用下面的公式替换:
【excel公式怎么统计至少在一列中满足条件的行数】=SUM(N(MMULT(N(B2:J14>1000),ROW(INDEX(A:A,1):INDEX(A:A,COLUMNS(B2:J14)))^0)>0))

推荐阅读