嵌套的IF语句验证第1部分但不验证条件的第2部分

时间:2014-06-08 17:32:16

标签: excel excel-formula

我正在处理执行以下检查的IF语句:

1)检查 VDA报告

上是否存在值
  • 如果为FALSE则移至2
  • 如果为TRUE则显示"是"结果

2)检查H列中相邻值的第一个字母是否为" V"

  • 如果为TRUE则显示"是"结果
  • 如果为FALSE则转到3

3)显示空白结果


但是只要它没有在1)处找到值,而不是继续在2)处进行检查,它会一直跳到3)。出现这种情况的原因是什么?

以下代码:

    =IFERROR(
       IF(VLOOKUP(CONCATENATE("EMEA\",H:H),'VDA Report'!A:B,1,FALSE)<>"","Yes",
       IF(LEFT(H:H,1)="V","Yes",""))   
    ,"")

1 个答案:

答案 0 :(得分:2)

嗯,你正在使用数组公式,即使你正确使用它,我也不认为这就是你想要的。

如果您使用选项卡公式下的'评估公式'并将其用于不工作的位置,您应该看到它始终只检查H:H中的第一个单元格。

我不完全确定你要做什么,但我会建议这样的事情:

=IF(OR(IFERROR(VLOOKUP("EMEA\"&H1,'VDA Report'!A:B,2,0),"")<>"",LEFT(H1)="V"),"Yes","")

我将vlookup索引更改为2,因为您使用的是A:B范围,如果使用索引1,则使用两列是没有意义的。我假设您正在检查返回的值( VDA报告B列的值,而不是查找值。

这将仅检查H1,以便您可以拖动此公式,它将很好地适应。

如果您只检查查找值是否在A列(与B列无关),那么您可以通过以下方式获得简单:

=IF(OR(ISNUMBER(MATCH("EMEA\"&H1,'VDA Report'!A:A,0)),LEFT(H1)="V"),"Yes","")
如果ISNUMBER(MATCH("EMEA\"&H1,'VDA Report'!A:A,0))中有"EMEA\"&H1,则

'VDA Report'!A:A会返回true。

LEFT(H1)LEFT(H1,1)同义。