用于Excel公式的类似IDE的解决方案



我正在使用一些带有大量嵌套if语句的公式制作一个复杂的电子表格,我想知道是否有一个很好的类似 IDE 的解决方案。一段时间后,它变得非常复杂,知道括号在哪里关闭并记住我所在的if陈述可能会在一段时间后感到困惑。

我尝试将其粘贴到 NetBeans 和记事本 + 中,这有助于括号,如果我正确地将其空格打开,那么这有助于我记住我所在的 if 语句。但是,我想要更好的解决方案

我知道无论我尝试做什么都可以使用 VBA 更有效地完成一百万倍,但我不想这样做,这不是这个问题的目的。

怀疑这是否可能,但如果有人找到我的东西可以做一些类似 IntelliSense 的功能,那就太棒了。

我用了记事本++。我发现这是我能找到的最好的解决方案。对于任何感兴趣的人,这是我的最终公式...有点乱。这是为了一个小时工资电子表格的事情,我是为了娱乐/经验/什么而做的。

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

最新更新