我在两个不同的列中有两个代码,我想将它们组合在一起。
这两个代码工作正常,但是当我尝试将它们组合在一起时,我没有得到正确的输出
例如,第一个代码取自 CELL C6 ,而代码是
=AND(B3<=VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(C6,Sheet3!A2:C35,2,FALSE))
它应该返回 TRUE 或 FALSE 正常运行。
第二个代码从 CELL D6 中获取价值,代码是
=AND(B3<=VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(D6,Sheet3!A2:C35,2,FALSE))
它应该返回 TRUE 或 FALSE 正常运行。
但是当我尝试将它们与OR语句组合在一起时,代码将无法正常工作。
组合的代码是
=OR(AND(B3<=VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(C6,Sheet3!A2:C35,2,FALSE)),AND(B3<=VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),B3>=VLOOKUP(D6,Sheet3!A2:C35,2,FALSE)))
使用组合的代码,如果单元格C6 或单元格D6 为 true ,我希望它返回true,但是代码返回一个当单元格C6 和单元格D6 都为true时,输出奇怪,这不是我想要的。
问题是,除非单元格c6和d6的两个单元格都为true,否则输出将无法获取TRUE,否则,它甚至都不会获取false,输出将仅为N \ A
在下面的照片中显示了对组合代码的评估。
您能帮我吗?。
答案 0 :(得分:2)
在两种情况下,您都将Vlookup和False参数用作第四个参数。
如果VLookup找不到完全匹配的内容,它将返回#N / A!
您需要将每个Vlookups包装到IFError中,以将该错误转换为空字符串,因此比较不会返回错误,而是返回“ false”。
=OR(AND(B3<=iferror(VLOOKUP(C6,Sheet3!A2:C35,3,FALSE),""),B3>=iferror(VLOOKUP(C6,Sheet3!A2:C35,2,FALSE),""),AND(B3<=iferror(VLOOKUP(D6,Sheet3!A2:C35,3,FALSE),""),B3>=iferror(VLOOKUP(D6,Sheet3!A2:C35,2,FALSE),"")))
我只是自由地在公式中编辑Iferror编辑。您可能要使用公式语法帮助器将Iferror括号正确放置。
答案 1 :(得分:0)
带有IFERROR的极值将永远不会为true,以涵盖找不到匹配项的情况。
=OR(AND(B3<=iferror(VLOOKUP(C6, Sheet3!A2:C35, 3, FALSE), -1e99),
B3>=iferror(VLOOKUP(C6, Sheet3!A2:C35, 2, FALSE), 1e99)),
AND(B3<=iferror(VLOOKUP(D6, Sheet3!A2:C35, 3, FALSE), -1e99),
B3>=iferror(VLOOKUP(D6, Sheet3!A2:C35, 2, FALSE), 1e99)))