Excel数组函数用于求和多个COUNTIF语句

时间:2014-01-14 02:24:10

标签: excel excel-formula

我很难明智地表达这一点,但我会尝试很长的路 - 我需要一个分配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

示例数据:

A         B         C         D 
20-Sep    20-Sep    21-Sep    21-Sep            
x         x 
          x         x
          x 
x           
                              x 
          x     
x           
x                   x   
x           

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

1 个答案:

答案 0 :(得分:4)

试试这个:

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

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

也有效:

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