【问题标题】:Extended Nested if statements in Excel: error in processingExcel 中的扩展嵌套 if 语句:处理中的错误
【发布时间】:2016-11-17 13:13:17
【问题描述】:

我想在 Excel 中使用嵌套 if 语句作为过滤数据的方法,并编写了一系列嵌套 if 语句,但是代码在 Excel 公式行中无法编译并出现错误“您键入的公式包含错误”,但我不知道错误可能出在哪里。

IF(过滤器!$V$7= "", IF (过滤器!$AC$7 = "", IF (SHEET1!$T2 = 过滤器!$B$17, IF (SHEET1!$U2 = 过滤器!$C$17 , IF (SHEET1!$V2 = 过滤器!$D$17, IF (SHEET1!$W2 = 过滤器!$E$17, IF (SHEET1!$X2= 过滤器!$F$17, A2, "") ,""), "" ) ,""), ""),IF (SHEET1!$M2 = 过滤器!$AC$7, IF (SHEET1!$T2 = 过滤器!$B$17, IF (SHEET1!$U2 = 过滤器!$C$17 , IF (SHEET1!$V2 = 过滤器!$D$17, IF (SHEET1!$W2 = 过滤器!$E$17, IF (SHEET1!$X2 = 过滤器!$F$17, A2, ""), ""), "") , "") , ""), “”)), IF(SHEET1!$H2 = 过滤器!$V$7, IF (过滤器!$AC$7 = "", IF (SHEET1!$T2 = 过滤器! $B$17, IF (SHEET1!$U2 = 过滤器!$C$17, IF (SHEET1!$V2 = 过滤器!$D$17, IF (SHEET1!$W2 = 过滤器!$E$17, IF (SHEET1!$X2=过滤器!$F$17, A2, "") ,""), "") ,""), ""), ""),IF (SHEET1!$M2 = 过滤器!$AC$7, IF (SHEET1!$ T2 = 过滤器!$B$17,IF (SHEET1!$U2 = 过滤器!$C$17,IF (SHEET1!$V2 = 过滤器!$D$17,IF (SHEET1!$W2 = 过滤器!$E$17,IF (SHEET1 !$X2 = 过滤器!$F$17, A2, ""), ""), "") , "") , ""), ""), ""))

提前谢谢你!!

【问题讨论】:

    标签: excel if-statement filter nested


    【解决方案1】:

    随着复杂性的增加,它变得非常困难。您可以尝试使用Excel Formula Beautifier 之类的网站,它会尝试使用缩进来格式化您的公式。您上面的缩进如下所示:

    =IF(
        FILTERS!$V$7 = "",
        IF ( FILTERS!$AC$7 = "" , IF ( SHEET1!$T2 = FILTERS!$B$17 , IF ( SHEET1!$U2 = FILTERS!$C$17 , IF ( SHEET1!$V2 = FILTERS!$D$17 , IF ( SHEET1!$W2 = FILTERS!$E$17 , IF ( SHEET1!$X2 = FILTERS!$F$17 , A2 , "" ) , "" ) , "" ) , "" ) , "" ) , IF ( SHEET1!$M2 = FILTERS!$AC$7 , IF ( SHEET1!$T2 = FILTERS!$B$17 , IF ( SHEET1!$U2 = FILTERS!$C$17 , IF ( SHEET1!$V2 = FILTERS!$D$17 , IF ( SHEET1!$W2 = FILTERS!$E$17 , IF ( SHEET1!$X2 = FILTERS!$F$17 , A2 , "" ) , "" ) , "" ) , "" ) , "" ) , “” ) ),
        IF(
            SHEET1!$H2 = FILTERS!$V$7,
            IF ( FILTERS!$AC$7 = "" , IF ( SHEET1!$T2 = FILTERS!$B$17 , IF ( SHEET1!$U2 = FILTERS!$C$17 , IF ( SHEET1!$V2 = FILTERS!$D$17 , IF ( SHEET1!$W2 = FILTERS!$E$17 , IF ( SHEET1!$X2 = FILTERS!$F$17 , A2 , "" ) , "" ) , "" ) , "" ) , "" ) , "" ),
            IF ( SHEET1!$M2 = FILTERS!$AC$7 , IF ( SHEET1!$T2 = FILTERS!$B$17 , IF ( SHEET1!$U2 = FILTERS!$C$17 , IF ( SHEET1!$V2 = FILTERS!$D$17 , IF ( SHEET1!$W2 = FILTERS!$E$17 , IF ( SHEET1!$X2 = FILTERS!$F$17 , A2 , "" ) , "" ) , "" ) , "" ) , "" ) , "" ),
            ""
        )
    )
    

    这意味着至少存在一个问题,即 if 的参数超过 3 个(内部的参数显示为 4 个)。如果可以的话,一次构建一个 if,或者使用多个列来简化每个单独的表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多