我正在处理执行以下检查的IF语句:
1)检查 VDA报告
上是否存在值2)检查H列中相邻值的第一个字母是否为" V"
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",""))
,"")
答案 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)
同义。