以下是我的公式:
=IF(AND(A513="Secondary",VLOOKUP(E513,'Secondary Schedule Archive'!$A$3:$A$23,1,FALSE)),"Information",IF(AND(A513="Secondary",VLOOKUP(E513,'Secondary Schedule Archive'!$C$3:$C$23,1,TRUE)),"Floorplan","False"))
我正在检查每个 if 语句的两个条件。但是,我遇到的情况是,如果我的第一个条件VLOOKUP
没有找到任何结果,它就会生成#N/A
值,而不是简单地转到下一个条件,然后填充该值。
我是否可以采取不同的方法或对现有公式进行一些更改以避免发生这种情况?
答案1
使用IFERROR(VLOOKUP(first set of args),VLOOKUP(second set of args))
。
IFERROR()
提供第一个参数的值,除非它是一个错误,在这种情况下它提供第二个参数的值。
答案2
是的,它可以在你的构造中使用。
基本上,您的AND
结果不是 TRUE 或 FALSE,而是 TRUE 或 #ERROR!。这是因为您VLOOKUP
的 要么产生“结果”,要么产生 #ERROR!。由于任何“结果”都会导致AND
产生 TRUE(假设 A513 包含“Secondary”),因此VLOOKUP
输出是唯一需要修复的东西。
当您将其包装IFERROR
为错误结果为 FALSE 输出时(因此形式为:IFERROR(VLOOKUP,FALSE)),您就解决了问题。这种情况在两种用途中都会发生,因此在两种情况下您都需要它。
它完全能够在您的IF
和AND
功能内发挥作用。