1

多くのネストされたステートメントを含む数式を使用して複雑なスプレッドシートを作成していますがif、IDE のような適切なソリューションがあるかどうか疑問に思っています。しばらくすると非常に複雑になり、括弧がどこで閉じているかを知り、自分がどのifステートメントにいるのかを覚えていると、しばらくすると混乱する可能性があります.

NetBeans と Notepad+ に貼り付けてみましたが、これは括弧に役立ちます。適切に空白を入れると、現在の if ステートメントを思い出すのに役立ちます。ただし、より良い解決策が必要です。

私がやろうとしていることは、VBAを使用して100万倍効率的に実行できることを知っていますが、それはしたくありません。それはこの質問の目的ではありません.

それが可能かどうかは疑問ですが、誰かがIntelliSenseのような機能を実行する何かを見つけたら、それは素晴らしいことです。

4

1 に答える 1

2

メモ帳++を使用しました。それが私が見つけた最善の解決策であることがわかりました。興味のある人のために、これが私の最終的な式です...ちょっと混乱しています。それは、私が楽しみ/経験/その他のために行っていた時給スプレッドシートのことでした。

=if(
    row()>=($J$4+2)
    , ""
    , if(
        row() = 2
        , if(
            or(
                MID(TEXT(datevalue($J$3), "ddEE"),3,9) = "Sat"
                , MID(TEXT(datevalue($J$3), "ddEE"),3,9) = "Sun"
            )
            , if (
                MID(TEXT(datevalue($J$3), "ddEE"),3,9) = "Sat"
                , if (
                    $J$8="No"
                    , if (
                        $J$9="No"
                        , MID(TEXT(datevalue($J$3)+2, "ddEE"),3,9)&" - "&datevalue($J$3)+2
                        , MID(TEXT(datevalue($J$3)+1, "ddEE"),3,9)&" - "&datevalue($J$3)+1
                    )
                    , MID(TEXT(datevalue($J$3), "ddEE"),3,9)&" - "&datevalue($J$3)
                )
                , if (
                    $J$9="No"
                    , MID(TEXT(datevalue($J$3)+1, "ddEE"),3,9)&" - "&datevalue($J$3)+1
                    , MID(TEXT(datevalue($J$3), "ddEE"),3,9)&" - "&datevalue($J$3)
                )
            )
            , MID(TEXT(datevalue($J$3), "ddEE"),3,9)&" - "&datevalue($J$3)
        )
        , if(
            or(
                isnumber(
                    search(
                        "Sat",A1
                    )
                )
                ,isnumber(
                    search(
                        "Fri"
                        , A1
                    )
                )
            )
            ,if(
                isnumber(
                    search(
                        "Sat"
                        , A1
                    )
                )
                ,if(
                    $J$9="No"
                    , MID(TEXT(datevalue(right(A1,len(A1)-5))+2, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+2
                    , MID(TEXT(datevalue(right(A1,len(A1)-5))+1, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+1)
                , if(
                    isnumber(
                        search(
                            "Fri"
                            , A1
                        )
                    ),
                    if (
                        $J$8="No"
                        , if (
                            $J$9="No"
                            , MID(TEXT(datevalue(right(A1,len(A1)-5))+3, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+3
                            , MID(TEXT(datevalue(right(A1,len(A1)-5))+2, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+2
                        )
                        , MID(TEXT(datevalue(right(A1,len(A1)-5))+1, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+1
                    ),
                )
            )
            , MID(TEXT(datevalue(right(A1,len(A1)-5))+1, "ddEE"),3,9)&" - "&datevalue(right(A1,len(A1)-5))+1
        )
    )
)
于 2012-05-06T22:18:19.620 に答える