EXCEL 将新列添加到嵌套的 if 语句中

EXCEL adding new columns into nested if statement

=IF(
Payment_Rules = Save_Only,
IF(
    VLOOKUP(
        F7 & $B,
        $Y:$AC9,
        IF(
            $Z = $B,
            2,
            IF(
                $B = $AA,
                3,
                IF(
                    $B = $AB,
                    4,
                    5
                )
            )
        ),
        FALSE
    ) < D6,
    D6,
    VLOOKUP(
        F7 & $B,
        $Y:$AC9,
        IF(
            $Z = $B,
            2,
            IF(
                $B = $AA,
                3,
                IF(
                    $B = $AB,
                    4,
                    5
                )
            )
        ),
        FALSE
    )
),
VLOOKUP(
    F7 & $B,
    $Y:$AC9,
    IF(
        $Z = $B,
        2,
        IF(
            $B = $AA,
            3,
            IF(
                $B = $AB,
                4,
                5
            )
        )
    ),
    FALSE
)

)

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

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

)

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

谢谢!

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

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

除非您的列多于 DD,否则无需更新。

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