为什么在这个IF函数中,Asterix(*)是否有效但AND函数不起作用?

时间:2017-11-23 22:18:53

标签: excel excel-formula

我有一个数组函数,它会查看标有Bike的工作表,如果他们没有离开日期,并且他们的年度金额不为零,则会提取他们的员工ID。

https://image.ibb.co/eTFooR/001.jpg

https://image.ibb.co/gzqUTR/002.jpg

我的问题是,我首先尝试使用IF编码(AND(公式但它不起作用,但它在条件之间使用Asterix(*)。

以下是正在运作的公式:

{=IFERROR(SMALL(IF((Bike!$D$2:$D$14="")*(Bike!$C$2:$C$14<>0),Bike!$B$2:$B$14,""),ROW()-1),"")}

以下是不包含的公式:

{=IFERROR(SMALL(IF(AND((Bike!$D$2:$D$14=""),(Bike!$C$2:$C$14<>0)),Bike!$B$2:$B$14,""),ROW()-1),"")}      

这是为什么?

1 个答案:

答案 0 :(得分:2)

AND只返回一个结果,所以这部分

=AND((Bike!$D$2:$D$14=""),(Bike!$C$2:$C$14<>0))

如果所有26个单元符合条件,

将仅返回TRUE - FALSE否则

=(Bike!$D$2:$D$14="")*(Bike!$C$2:$C$14<>0)

返回一个包含13个值的数组,当该行的两个条件都为TRUE时返回1,否则为0,例如0 {0;0;0;0;1;0;1;0;0;0;0;1;1}

由于上述AND无法在这些数组公式中使用可靠(也不能OR,因为这也会返回单个结果)。你会得到一个结果(不是错误)....但可能不是正确的

您可以通过将上述任一项放入单元格,然后按F2然后按F9查看生成的结果

来自行查看