Excel 嵌套 IF/LEFT/AND 函数的公式

Excel Formula with Nested IF/LEFT/AND Functions

我创建了一个包含嵌套 IF 语句的公式,该公式运行良好,但我需要向其中添加更多逻辑。我会在公式中嵌套其他语句,但我对正确的处理方式有点困惑。

当前公式为:

=IF(LEFT(G3,1)="1","998",IF(LEFT(G3,1)="2","998",IF(LEFT(G3,1)="3","998",IF(LEFT(G3,1)="4","996",IF(LEFT(G3,1)="5","996",K3)))))

这工作正常,但现在我需要添加额外的逻辑:

我失败的尝试是这样的:

IF(LEFT(G3,1)="1","998",IF(LEFT(G3,1)="2","998",IF(LEFT(G3,1)="3","998",IF(LEFT(G3,1)="4","996",IF(LEFT(G3,1)="5","996",IF(LEFT(G3,1)="9"(AND(LEFT(K3,3)<>"075"))K3))))))

这是我尝试添加的嵌套语句:

IF(LEFT(G3,1)="9"(AND(LEFT(K3,3)<>"075"))

那么显然我需要为“076”和“089”重复几次,但我还没有正确处理其中一个。

我知道这可以通过一些 VBA 代码来完成,但对于这个文件,我希望避免 VBA 并将其限制为仅公式。

如有任何帮助,我们将不胜感激!

编辑: 使用 Scott & L. Scott 的答案,即使 K3 的值为 075、076 或 089,我仍然将“997”输入到单元格中。下面是 L. Scott 推荐公式的屏幕截图,结果仍然显示“997”。

如果要保持现有的嵌套样式:

=IF(LEFT(G3,1)="1","998",IF(LEFT(G3,1)="2","998",IF(LEFT(G3,1)="3","998",IF(LEFT(G3,1)="4","996",IF(LEFT(G3,1)="5","996",IF(AND(LEFT(G3,1)="9",NOT(OR(OR(LEFT(K3,3)="075",LEFT(K3,3)="076"),LEFT(K3,3)="089"))),"997",K3))))))

=
IF(LEFT(G3,1)="1","998",
  IF(LEFT(G3,1)="2","998",
    IF(LEFT(G3,1)="3","998",
      IF(LEFT(G3,1)="4","996",
        IF(LEFT(G3,1)="5","996",
          IF(
            AND(
              LEFT(G3,1)="9",
              NOT(
                OR(
                  OR(
                    LEFT(K3,3)="075",
                    LEFT(K3,3)="076"),
                  LEFT(K3,3)="089"
                )
              )
            ), "997", K3
          )
        )
      )
    )
  )
)

您可以使用以下公式:

=IF(SUMPRODUCT(--(LEFT(G3,1)={"1","2","3"}))>0,"998",IF(SUMPRODUCT(--(LEFT(G3,1)={"4","5"}))>0,"996",IF(AND(SUMPRODUCT(--(LEFT(G3,1)="9"))>0,SUMPRODUCT(--(LEFT(K3,3)={"075","076","089"}))=0),"997")))

如果 K3 是一个实际数字而不是文本,那么@ScottCraner 有一个很好的观点,它不会看到前导零。要克服这个问题,您应该在单元格 K3.

中的值前面添加 '