Was übersehe ich? Sie haben zu viele Argumente für diese Funktion eingegeben - verschachtelte IF-Anweisung

Was übersehe ich? Sie haben zu viele Argumente für diese Funktion eingegeben - verschachtelte IF-Anweisung

Ich erhalte den Fehler „Sie haben zu viele Argumente für diese Funktion eingegeben“ und kann nicht herausfinden, warum. Ich habe meine verschachtelten IF-Anweisungen und die AND-Anweisungen für die erforderlichen Szenarien, die ich brauche. Aber ich kann beim besten Willen nicht herausfinden, was mir fehlt. Irgendjemand?

=IF(
    HOUSING_PROVIDED = "Yes",
    0,
     IF(
        AND(
            HOUSING_PROVIDED = "No",
            HOUSING_RECALC_YN = "No",
            PRIOR_EXCESS_HOUSING <= 0
        ),
        0,
         IF(
            AND(
                HOUSING_PROVIDED = "No",
                HOUSING_RECALC_YN = "No",
                PRIOR_EXCESS_HOUSING > 0
            ),
            PRIOR_EXCESS_HOUSING,
             IF(
                AND(
                    HOUSING_PROVIDED = "No",
                    HOUSING_RECALC_YN = "Yes",
                    DUAL_CAREER_YN = "No",
                    EXCESS_HOUSING = "Yes"
                ),
                EXCESS_HOUSING,
                 IF(
                    AND(
                        HOUSING_PROVIDED = "No",
                        HOUSING_RECALC_YN = "Yes",
                        DUAL_CAREER_YN = "No",
                        EXCESS_HOUSING = "No",
                        HOUSING_RENTAL_LIMIT > 0
                    ),
                    HOUSING_RENTAL_LIMIT,
                     IF(
                        AND(
                            HOUSING_PROVIDED = "No",
                            HOUSING_RECALC_YN = "Yes",
                            DUAL_CAREER_YN = "No",
                            EXCESS_HOUSING = "No",
                            HOUSING_RENTAL_LIMIT <= 0
                        ),
                        "Run Data Calc",
                         IF(
                            AND(
                                HOUSING_PROVIDED = "No",
                                HOUSING_RECALC_YN = "Yes",
                                DUAL_CAREER_YN = "Yes",
                                SPOUSE_POLICY <> "Core",
                                EXCESS_HOUSING = "Yes"
                            ),
                            EXCESS_HOUSING,
                             IF(
                                AND(
                                    HOUSING_PROVIDED = "No",
                                    HOUSING_RECALC_YN = "Yes",
                                    DUAL_CAREER_YN = "Yes",
                                    SPOUSE_POLICY <> "Core",
                                    EXCESS_HOUSING = "Yes"
                                ),
                                HOUSING_RENTAL_LIMIT > 0,
                                HOUSING_RENTAL_LIMIT,
                                 IF(
                                    AND(
                                        HOUSING_PROVIDED = "No",
                                        HOUSING_RECALC_YN = "Yes",
                                        DUAL_CAREER_YN = "Yes",
                                        SPOUSE_POLICY <> "Core",
                                        EXCESS_HOUSING = "Yes"
                                    ),
                                    HOUSING_RENTAL_LIMIT <= 0,
                                    "Run Data Calc",
                                     IF(
                                        AND(
                                            HOUSING_PROVIDED = "No",
                                            HOUSING_RECALC_YN = "Yes",
                                            DUAL_CAREER_YN = "Yes",
                                            SPOUSE_POLICY = "Core",
                                            DUAL_CAREER_LOWER_YN = "Yes"
                                        ),
                                        0,
                                         IF(
                                            AND(
                                                HOUSING_PROVIDED = "No",
                                                HOUSING_RECALC_YN = "Yes",
                                                DUAL_CAREER_YN = "Yes",
                                                SPOUSE_POLICY = "Core",
                                                DUAL_CAREER_LOWER_YN = "No",
                                                EXCESS_HOUSING = "Yes"
                                            ),
                                            EXCESS_HOUSING,
                                             IF(
                                                AND(
                                                    HOUSING_PROVIDED = "No",
                                                    HOUSING_RECALC_YN = "Yes",
                                                    DUAL_CAREER_YN = "Yes",
                                                    SPOUSE_POLICY = "Core",
                                                    DUAL_CAREER_LOWER_YN = "No",
                                                    HOUSING_RENTAL_LIMIT > 0
                                                ),
                                                HOUSING_RENTAL_LIMIT,
                                                 IF(
                                                    AND(
                                                        HOUSING_PROVIDED = "No",
                                                        HOUSING_RECALC_YN = "Yes",
                                                        DUAL_CAREER_YN = "Yes",
                                                        SPOUSE_POLICY = "Core",
                                                        DUAL_CAREER_LOWER_YN = "No",
                                                        HOUSING_RENTAL_LIMIT <= 0
                                                    ),
                                                    "Run Data Calc",
                                                    "Dont Run Data Calc"
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )
)

Antwort1

Wenn ich das richtig lese, IF()hat der folgende Aufruf 4 Argumente:

 IF(
    AND(
        HOUSING_PROVIDED = "No",
        HOUSING_RECALC_YN = "Yes",
        DUAL_CAREER_YN = "Yes",
        SPOUSE_POLICY <> "Core",
        EXCESS_HOUSING = "Yes"
    ),
    HOUSING_RENTAL_LIMIT > 0,
    HOUSING_RENTAL_LIMIT,
     IF(
        ...
    )
)

Es beginnt in Zeile 53 im erweiterten Code.

Es gibt eine weitere Anweisung, die in Zeile 63 beginnt und ebenfalls vier Argumente hat:

 IF(
    AND(
        HOUSING_PROVIDED = "No",
        HOUSING_RECALC_YN = "Yes",
        DUAL_CAREER_YN = "Yes",
        SPOUSE_POLICY <> "Core",
        EXCESS_HOUSING = "Yes"
    ),
    HOUSING_RENTAL_LIMIT <= 0,
    "Run Data Calc",
     IF(
        ...
    )
)

Aber im Ernst, Mann, tu das nicht. Du wirst das nie wieder rückgängig machen können, und zwar schon übermorgen. Einfach, weil du dann nicht mehr verstehen wirst, warum du es getan hast und wie und vielleicht sogar was. ;)

verwandte Informationen