索引匹配公式有效,但在 COUNTIFS 或 IF 语句中不起作用



我花了超过 24 小时的时间在这个问题上拔头发,并在这里广泛寻找解决方案。在过去的几个月里,我一直在提高我的INDEX/MATCH技能,但这次遇到了挑战。我相信这里有人可以发现这个问题。

我在 IF 语句中运行INDEX/MATCH。在 1 个条件匹配的情况下一切正常,我只需使用 Enter 即可获得正确的结果(似乎不需要使用Ctrl+Shift+Enter)。

IF(INDEX(transactions!$A:$E,MATCH(UI$1,transactions!$D:$D,0),5)=$A16,"DNP","with " & INDEX(transactions!$A:$E,MATCH(UI$1,transactions!$D:$D,0),5)))

我得到了正确的结果。但是,如果我在 if 语句中的INDEX/MATCH中添加 1 个条件并单独按Enter键,则会出现#N/A错误。如果我使用Ctrl+Shift+Enter得到错误的结果(IF语句的 false 值)。

具有 2 个标准的INDEX/MATCH formula在单独使用时提供正确的输出

INDEX(transactions!$A:$E,MATCH(1,(transactions!$D:$D=UI$1)*(transactions!$A:$A<=C16),0),5)

但是,同样,当添加到上面的相同IF语句中以代替单个标准匹配时,我得到了上面提到的错误。有什么想法吗?

更新:这里它被放置在其IF语句中,现在运行良好。我有一个额外的支架导致问题

IF(INDEX(transactions!$A:$E,MATCH(1,(transactions!$D:$D=UI$1)*(transactions!$A:$A<=C16),0),5)=$A16,"DNP","with " & INDEX(transactions!$A:$E,MATCH(UI$1,transactions!$D:$D,0),5))

但是现在的问题是当我插入我正在使用它的嵌套IF语句时。我现在每次都得到错误的结果("留空"),这不是想要的结果。

IF(COUNTIFS(transactions!$D:$D,INDIRECT(ADDRESS(1,COLUMN(),1)),transactions!$A:$A,"<="&INDIRECT("C"&ROW()))>0, IF(INDEX(transactions!$A:$E,MATCH(1,(transactions!$D:$D=UI$1)*(transactions!$A:$A<=C16),0),5)=$A16,"DNP","with " & INDEX(transactions!$A:$E,MATCH(UI$1,transactions!$D:$D,0),5)), IF(COUNTIFS(stats!$B:$B,INDIRECT(ADDRESS(1,COLUMN(),1)),stats!$A:$A,INDIRECT("A"&ROW()))=1,"DNP","LEAVE BLANK"))

单独使用的所有组件(3 个不同的 IF 语句)分别给出了正确的响应。但是,组合公式在一起总是给出默认的 false 结果。但是,我回去又看了一遍间接。我将它们全部更改为直接单元格引用,它可以工作

最新更新