2017-09-05 44 views
-1

我花了24小时将这头发拉出来,并在这里广泛搜索了解决方案。过去几个月我一直在提高我的技能,但这次遇到了挑战。我敢肯定这里有人可以发现这个问题。指数匹配公式适用,但不适用于COUNTIFS或IF语句

我在IF语句中运行INDEX/MATCH。一切工作正常与1条准则匹配,我得到正确的结果只是通过使用输入(似乎不需要使用Ctrl + 移位 + 输入)。

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个更多条件并按单独输入,我会得到一个#N/A错误。如果我用Ctrl + Shift + Enter我得到错误的结果(IF语句的错误值)。

INDEX/MATCH formula与2个标准上使用时给出正确的输出自己的

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声明额外的支架。我现在每次拿到假的结果(“离开BLANK”) ,这不是理想的结果。

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")) 
+1

请使用多条件索引/匹配显示IF公式。一个IndexMatch不是一个数组公式,因此不需要CSE,但是Multiple确实需要CSE。 –

+0

Hi @ScottCraner。我使用附加信息更新了原始帖子。 – NathanC

+0

间接引发警告标志......是在同一工作簿或已打开的工作簿中间接处理的地址?如果答案是肯定的,那么没有什么可担心的。如果答案是否定的,那可能是问题 –

回答

0

分别使用的所有组件(3个不同的IF语句)分别给出了正确的响应。但是在一起,组装的公式总是给出默认的错误结果。但是,我回过头去再次看到了这些间接问题。我将它们全部更改为直接引用单元格,并且它工作

相关问题