내가 무엇을 놓치고 있나요? 이 함수에 인수를 너무 많이 입력했습니다. 중첩된 IF 문

내가 무엇을 놓치고 있나요? 이 함수에 인수를 너무 많이 입력했습니다. 중첩된 IF 문

'이 함수에 대해 너무 많은 인수를 입력했습니다.' 오류가 발생했는데 이유를 알 수 없습니다. 필요한 시나리오에 대한 중첩된 IF 문과 AND 문이 있습니다. 하지만 내 인생에서 내가 무엇을 놓치고 있는지 알아낼 수는 없습니다. 아무도?

=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"
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )
)

답변1

이 내용을 올바르게 읽으면 다음 IF()호출에는 4개의 인수가 있습니다.

 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(
        ...
    )
)

확장된 코드의 53번째 줄에서 시작됩니다.

63행에서 시작하는 또 다른 명령문이 있으며 이 명령문에도 4개의 인수가 있습니다.

 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(
        ...
    )
)

하지만 진지하게, 이러지 마세요. 이르면 모레부터 이 내용을 수정할 수 없습니다. 왜 그랬는지, 어떻게, 심지어 무엇을 했는지 이해할 수 없기 때문입니다. ;)

관련 정보