嵌套的VLOOKUP函数

时间:2014-11-09 21:10:45

标签: excel excel-2013

我正在尝试获取VLOOKUP,如果找到大于$ 100的值,则显示的值为0.

然后,我希望函数在从表中计算值的位置执行,然后执行另一个VLOOKUP以确定要添加的其他值。我还想要一个IFERROR语句,以允许错误显示为空白。

到目前为止我已经

=IFERROR(IF(VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,
         "$0.00",
         (VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE) +
         VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)))),
         "")

有谁可以告诉我这个/可能的解决方法有什么问题?我收到一个关于参数太少的错误,可能只是花了太多时间在这个函数上。额外的眼睛将非常感激!

2 个答案:

答案 0 :(得分:0)

你的支持( )错了。如果我们将格式设置为更具可读性,那么这就是您的公式:

=IFERROR(
    IF(
        VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,
        "$0.00",
        (
            VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)+
            VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)
        )
    )
),"")

您只向IFERROR传递了一个参数,最后的,"")位于IFERROR之外......应该是:

=IFERROR(
    IF(
        VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,
        "$0.00",
        VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)+
        VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)
    )
,"")

或者,没有空格:

=IFERROR(IF(VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,"$0.00",VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)+VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)),"")

答案 1 :(得分:0)

如果你添加空格/换行符将公式划分为逻辑部分(通过语法),你应该很容易看到主要错误出现的位置。

=IFERROR(
    IF(
        VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,
        "$0.00",
        (
            VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)
            +
            VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)
        )
        )
    ),
    ""
)

注意你在同一级别有两个近括号?很明显,这是一个错误,其中一个应该删除。

因此,您的公式变为:

=IFERROR(
    IF(
        VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)>100,
        "$0.00",
        (
            VLOOKUP(F43,'Delivery Calculator'!A6:B11,2,TRUE)
            +
            VLOOKUP(B27,'Delivery Calculator'!A14:C17,2,False)
        )
    ),
    ""
)

作为旁注,您应该验证TRUE中的VLOOKUP值实际上是TRUE。这些通常是FALSE