【问题标题】:EXCEL adding new columns into nested if statementEXCEL在嵌套if语句中添加新列
【发布时间】:2017-01-24 20:13:20
【问题描述】:
=IF(
Payment_Rules = Save_Only,
IF(
    VLOOKUP(
        F7 & $B$13,
        $Y$13:$AC$429,
        IF(
            $Z$11 = $B$6,
            2,
            IF(
                $B$6 = $AA$11,
                3,
                IF(
                    $B$6 = $AB$11,
                    4,
                    5
                )
            )
        ),
        FALSE
    ) < D6,
    D6,
    VLOOKUP(
        F7 & $B$13,
        $Y$13:$AC$429,
        IF(
            $Z$11 = $B$6,
            2,
            IF(
                $B$6 = $AA$11,
                3,
                IF(
                    $B$6 = $AB$11,
                    4,
                    5
                )
            )
        ),
        FALSE
    )
),
VLOOKUP(
    F7 & $B$13,
    $Y$13:$AC$429,
    IF(
        $Z$11 = $B$6,
        2,
        IF(
            $B$6 = $AA$11,
            3,
            IF(
                $B$6 = $AB$11,
                4,
                5
            )
        )
    ),
    FALSE
)

)

到目前为止,我已经像这样在我的 excel 文件中嵌套了 if 语句,它工作正常,但是新列被添加到工作簿中,所以我必须稍微调整这段代码以覆盖新列。(添加列 AC:AF )

=IF(
Payment_Rules = Save_Only,
IF(
    VLOOKUP(
        F6 & $B$13,
        $Y$13:$AF$429,
        IF(
            $Z$11 = $B$6,
            2,
            IF(
                $B$6 = $AA$11,
                3,
                IF(
                    $B$6 = $AB$11,
                    4,
                    IF(
                        $B$6 = $AC$11,
                        5,
                        IF(
                            $B$6 = $AD$11,
                            6,
                            IF(
                                $B$6 = $AE$11,
                                7,
                                IF(
                                    $B$6 = $AF$11,
                                    8
                                )
                            )
                        )
                    )
                )
            )
        ),
        FALSE
    ) < D5,
    D5,
    VLOOKUP(
        F6 & $B$13,
        $Y$13:$AF$429,
        IF(
            $Z$11 = $B$6,
            2,
            IF(
                $B$6 = $AA$11,
                3,
                IF(
                    $B$6 = $AB$11,
                    4,
                    IF(
                        $B$6 = $AC$11,
                        5,
                        IF(
                            $B$6 = $AD$11,
                            6,
                            IF(
                                $B$6 = $AE$11,
                                7,
                                IF(
                                    $B$6 = $AF$11,
                                    8
                                )
                            )
                        )
                    )
                )
            )
        ),
        FALSE
    )
),
VLOOKUP(
    F6 & $B$13,
    $Y$13:$AC$429,
    IF(
        $Z$11 = $B$6,
        2,
        IF(
            $B$6 = $AA$11,
            3,
            IF(
                $B$6 = $AB$11,
                4,
                IF(
                    $B$6 = $AC$11,
                    5,
                    IF(
                        $B$6 = $AD$11,
                        6,
                        IF(
                            $B$6 = $AE$11,
                            7,
                            IF(
                                $B$6 = $AF$11,
                                8
                            )
                        )
                    )
                )
            )
        )
    ),
    FALSE
)

)

这是我的新代码得到的,但它给了我#REF!错误。我无法弄清楚有什么问题。由于原始代码工作正常,我知道调用参考没有任何问题。我该如何解决这个错误?

谢谢!

【问题讨论】:

  • 我认为,如果没有您的工作簿,将很难分析此功能。尝试使用评估公式。

标签: excel if-statement excel-formula vlookup nested-if


【解决方案1】:

将 VLOOKUP 中的所有 IF() 更改为 MATCH:

=MATCH($B$6,$Y$11:$DD$11,0)

除非您的列数超过 DD,否则无需更新。

=IF(Payment_Rules=Save_Only,IF(VLOOKUP(F7&$B$13,$Y$13:$DD$429,
MATCH($B$6,$Y$11:$DD$11,0),FALSE)<D6,D6,VLOOKUP(F7&$B$13,$Y$13:$DD$429,
MATCH($B$6,$Y$11:$DD$11,0),FALSE)),VLOOKUP(F7&$B$13,$Y$13:$DD$429,
MATCH($B$6,$Y$11:$DD$11,0),FALSE))

【讨论】:

  • =IF( Payment_Rules = Save_Only, IF( VLOOKUP( F6 & $B$13, $Y$13:$AF$429, MATCH($B$6,$Y$11:$DD$11,0) ) , FALSE )
  • 所以我是这样写的,但它给了我太多关于函数错误的论据。有没有什么办法解决这一问题?谢谢!
  • 你还需要把$Y$13:$AF$429全部改成$Y$13:$DD$429
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多