Excel数组函数来汇总一些COUNTIF语句

我很难智能化,但我会尝试很长的路 – 我需要一个函数,分配一个1或0取决于行是否有一个“x”在前面四列之一,然后将所有这些分配的值。

换句话说,想象下面的公式在E2中,并且对于任何给定数量的行自动填充。

=IF(COUNTIF(A2:D2, "x")>=1, 1, 0)) 

我想在F2中编写一个数组函数,这个函数的作用相当于求和E列中的所有值(但不要引用E列)。

总和…

 =IF(COUNTIF(A2:D2, "x")>=1, 1, 0)) =IF(COUNTIF(A3:D3, "x")>=1, 1, 0)) =IF(COUNTIF(A4:D4, "x")>=1, 1, 0)) =IF(COUNTIF(A5:D5, "x")>=1, 1, 0)) ...for all of column A through D 

样本数据:

 ABCD 20-Sep 20-Sep 21-Sep 21-Sep xxxx xxxxxxxx 

公式应该返回值9.有9行在列A和D之间有一个“x”

试试这个:

 =SUM(--(MMULT(--(A2:D5="x"),{1;1;1;1})>0)) 

正常提交(数组input既不会帮助也不会受到伤害)。 如果您的生产范围宽于4列,请展开{1; 1; 1; 1}arrays。

也适用于:

 =SUM(N(MMULT(N(A2:D5="x"),{1;1;1;1})>0))