IF语句中的AND语句失败,但单独使用时可以工作

时间:2019-04-16 14:40:28

标签: excel-formula

我有以下无效的公式:

=IFERROR(INDEX(data[Ticket No.], SMALL(IF(AND(data[SLA (Hrs)]>=-24,data[SLA (Hrs)]<0), ROW(data[SLA (Hrs)])-ROW(Data!$D$2)+1), ROW(1:1))),"No Match")

当我删除AND并仅使用其中一个条件时,该公式将起作用:

=IFERROR(INDEX(data[Ticket No.], SMALL(IF(data[SLA (Hrs)]>=-24, ROW(data[SLA (Hrs)])-ROW(Data!$D$2)+1), ROW(1:1))),"No Match")

=IFERROR(INDEX(data[Ticket No.], SMALL(IF(data[SLA (Hrs)]<0, ROW(data[SLA (Hrs)])-ROW(Data!$D$2)+1), ROW(1:1))),"No Match")

当我自己测试AND语句时,它返回TRUE。

AND(data[SLA (Hrs)]>=-24,data[SLA (Hrs)]<0)

完整公式输出:

它返回1个“票号”。 'SLA(Hrs)'为-2000,这是不正确的。

我有10张“票号” “数据”表中的“ SLA(小时)”介于-24和0之间。

任何人都能提供的见解将不胜感激。

问候,

亚历克斯

1 个答案:

答案 0 :(得分:1)

数组公式不适用于AND()OR(),请分别使用*+

  

AND(data[SLA (Hrs)]>=-24,data[SLA (Hrs)]<0)

应该是:

(data[SLA (Hrs)]>=-24)*(data[SLA (Hrs)]<0)

如此:

=IFERROR(INDEX(data[Ticket No.], SMALL(IF((data[SLA (Hrs)]>=-24)*(data[SLA (Hrs)]<0), ROW(data[SLA (Hrs)])-ROW(Data!$D$2)+1), ROW(1:1))),"No Match")

切记在退出“编辑”模式时使用Ctrl-Shift-Enter而不是Enter进行确认。