Excel 麻烦的乘积函数

Excel 麻烦的乘积函数,excel,excel-formula,formulas,array-formulas,Excel,Excel Formula,Formulas,Array Formulas,我需要计算一个固定单元格与另一列中的单元格匹配并且第三列中相应单元格不为空的行数。然而,我的公式运行异常,我不知道如何排除故障 以下是单元格中的原始数据: 列A到D中的所有单元格仅包含值。在单元格E2中,公式如下: =SUMPRODUCT((-((A$1:A$6)=B2))*(如果(为空白(C$1:C$6),则为0,1))) 但是,对于单元格E2,我期望的值是2。这将是A列中与B2单元格中的值匹配且C列中相应单元格不为空的单元格数。不幸的是,细胞E2产生的是3而不是2,我不知道为什么。为了帮助

我需要计算一个固定单元格与另一列中的单元格匹配并且第三列中相应单元格不为空的行数。然而,我的公式运行异常,我不知道如何排除故障

以下是单元格中的原始数据:

列A到D中的所有单元格仅包含值。在单元格E2中,公式如下:

=SUMPRODUCT((-((A$1:A$6)=B2))*(如果(为空白(C$1:C$6),则为0,1)))

但是,对于单元格E2,我期望的值是2。这将是A列中与B2单元格中的值匹配且C列中相应单元格不为空的单元格数。不幸的是,细胞E2产生的是3而不是2,我不知道为什么。为了帮助我解决问题,我为单元格G1到G6输入了以下数组公式:

{=--(A$1:A$6)=B2)}

对于单元格H1到H6,也可以使用以下数组公式:

{=IF(ISBLANK(C$1:C$6),0,1)}

最后,我为单元格I2输入了以下常规公式:

=总积((G1:G6)*(H1:H6))

这确实会产生2的预期结果。然而,我无法理解这两种方法之间的区别。我的实际电子表格看起来像A、B和C列,因此E2中的公式,如果它能产生所需的结果,则更可取


谢谢

尝试将公式作为数组公式(Ctrl+Shift+Enter)输入,这样应该可以工作。

正如@Pash101正确指出的那样,您应该按Ctrl+Shift+Enter来计算公式,或者最好使用以下任何公式(不带数组输入):

对于Excel 2007及更高版本:

=COUNTIFS(A$1:A$6,B2,C$1:C$6,"<>")
=COUNTIFS(A$1:A$6,B2,C$1:C$6,”)
对于Excel 2003:

=SUMPRODUCT((A$1:A$6=B2)*(C$1:C$6<>""))
=SUMPRODUCT((A$1:A$6=B2)*(C$1:C$6“)