IF ステートメントで #Value エラーが発生するのはなぜですか?

IF ステートメントで #Value エラーが発生するのはなぜですか?

Excel の IF ステートメントで #VALUE エラーが繰り返し発生します。原因は何かご存知ですか? ご協力いただければ幸いです。

=IF(
    OR(
        R2 > 3
    ),
    0,
    (        IF(
            R2 = 1,
            (                IF(
                    K2 <- 0.1,
                    1,
                    IF(
                        AND(
                            K2 >- 0.1,
                            K2 <- 0.05
                        ),
                        2,
                        IF(
                            AND(
                                K2 >=- 0.5,
                                K2 < 0
                            ),
                            3,
                            IF(
                                AND(
                                    K2 >= 0,
                                    K2 <= 0.05
                                ),
                                4,
                                IF(
                                    AND(
                                        K2 > 0.05,
                                        K2 <= 0.15
                                    ),
                                    5,
                                    IF(
                                        AND(
                                            K2 > 0.15,
                                            K2 <= 0.3
                                        ),
                                        6,
                                        7
                                    )
                                )
                            )
                        )
                    )
                ) ,
                IF(
                    R2 = 2,
                    (                        IF(
                            K2 <- 0.1,
                            8,
                            IF(
                                AND(
                                    K2 >- 0.1,
                                    K2 <- 0.05
                                ),
                                9,
                                IF(
                                    AND(
                                        K2 >=- 0.5,
                                        K2 < 0
                                    ),
                                    10,
                                    IF(
                                        AND(
                                            K2 >= 0,
                                            K2 <= 0.05
                                        ),
                                        11,
                                        IF(
                                            AND(
                                                K2 > 0.05,
                                                K2 <= 0.15
                                            ),
                                            12,
                                            IF(
                                                AND(
                                                    K2 > 0.15,
                                                    K2 <= 0.3
                                                ),
                                                13,
                                                14
                                            )
                                        )
                                    )
                                )
                            )
                        ) ,
                        IF(
                            R2 = 3,
                            (                                IF(
                                    K2 <- 0.1,
                                    15,
                                    IF(
                                        AND(
                                            K2 >- 0.1,
                                            K2 <- 0.05
                                        ),
                                        16,
                                        IF(
                                            AND(
                                                K2 >=- 0.5,
                                                K2 < 0
                                            ),
                                            17,
                                            IF(
                                                AND(
                                                    K2 >= 0,
                                                    K2 <= 0.05
                                                ),
                                                18,
                                                IF(
                                                    AND(
                                                        K2 > 0.05,
                                                        K2 <= 0.15
                                                    ),
                                                    19,
                                                    IF(
                                                        AND(
                                                            K2 > 0.15,
                                                            K2 <= 0.3
                                                        ),
                                                        20,
                                                        21
                                                    )
                                                )
                                            )
                                        )
                                    )
                                ) )
                        ) )
                ) )
        ) )
)

答え1

数式が非常に長いため、このような複雑な数式を管理するのは非常に困難です。私が推測するに、括弧 after はR2=1数式全体の最後でのみ閉じられており (以下の注記を参照)、ネストされた構造全体の管理が誤っていますIF

同じことを適度な複雑さで実行するには、次の式を使用することを提案します。

=IF(R2>3,0,IFERROR(MATCH(K2,{-0.1,-0.05,0,0.05,0.15,0.3},1)+1,1)+(R2-1)*7)

オリジナルのフォーミュラ:

=IF(
    OR(R2>3),
    0,
    (IF(
        R2=1,( ## this bracket is closed only at the end of the formula ##
            IF(
                K2<-0.1,
                1,
                IF(
                    AND(K2>-0.1,K2<-0.05),
                    2,
                    IF(
                        AND(K2>=-0.5,K2<0),
                        3,
                        IF(
                            AND(K2>=0,K2<=0.05),
                            4,
                            IF(
                                AND(K2>0.05,K2<=0.15),
                                5,
                                IF(
                                    AND(K2>0.15,K2<=0.3),
                                    6,
                                    7
                                )
                            )
                        )
                    )
                )
            ),
            IF(
                R2=2,(
                IF(
                    K2<-0.1,
                    8,
                    IF(
                        AND(K2>-0.1,K2<-0.05),
                        9,
                        IF(
                            AND(K2>=-0.5,K2<0),
                            10,
                            IF(
                                AND(K2>=0,K2<=0.05),
                                11,
                                IF(
                                    AND(K2>0.05,K2<=0.15),
                                    12,
                                    IF(
                                        AND(K2>0.15,K2<=0.3),
                                        13,
                                        14
                                    )
                                )
                            )
                        )
                    ),
                    IF(
                        R2=3,(
                        IF(
                            K2<-0.1,
                            15,
                            IF(
                                AND(K2>-0.1,K2<-0.05),
                                16,
                                IF(
                                    AND(K2>=-0.5,K2<0),
                                    17,
                                    IF(
                                        AND(K2>=0,K2<=0.05),
                                        18,
                                        IF(
                                            AND(K2>0.05,K2<=0.15),
                                            19,
                                            IF(
                                                AND(K2>0.15,K2<=0.3),
                                                20,
                                                21
                                            )
                                        )
                                    )
                                )
                            )
                        )
                        )
                    )
                )
                )
            )
            )
    )
    )

関連情報