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

时间:2017-09-05 20:53:46

标签: excel excel-vba excel-formula vba

我花了24个多小时把头发拉出来,并在这里广泛搜索解决方案。在过去的几个月里,我一直在提高INDEX/MATCH技能,但这次遇到了挑战。我相信这里有人可以发现这个问题。

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

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

具有2个标准的INDEX/MATCH formula在自己使用

时给出了正确的输出
INDEX(transactions!$A:$E,MATCH(1,(transactions!$D:$D=UI$1)*(transactions!$A:$A<=C16),0),5)

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

UPDATE:此处将其置于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语句时。我现在每次都得到错误的结果(&#34; LEAVE BLANK&#34;),这不是期望的结果。

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 个答案:

答案 0 :(得分:0)

单独使用的所有组件(3种不同的IF语句)分别给出了正确的响应。但是在一起,组装的公式总是给出默认的错误结果。然而,我又回去看了一下再见。我将它们全部更改为直接单元格引用,并且它可以工作