合并2个Excel代码

时间:2018-09-12 07:17:25

标签: excel formula

我在两个不同的列中有两个代码,我想将它们组合在一起。

这两个代码工作正常,但是当我尝试将它们组合在一起时,我没有得到正确的输出

例如,第一个代码取自 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

在下面的照片中显示了对组合代码的评估。

The combined code evaluation

您能帮我吗?。

2 个答案:

答案 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)))