多个if和and的公式错误内的Vlookup

时间:2019-05-02 06:26:38

标签: excel excel-formula

我有2个表,其中包含多个值,并且需要从e的第二个表到第一个表获取准确的值

=VLOOKUP(A3,$I$9:$R$18,IF(D3=23800,10,IF(D3>10000,9,IF(AND(7000<D3,D3<10000),8,IF(AND(5000<D3,D3<7000),7,IF(AND(3000<D3,D3<5000),6,IF(AND(1000<D3,D3<3000,5,IF(AND(500<D3,D3<1000,4,IF(D3<500,3,2)))))))))

这是我的代码,每次尝试更正此错误时都会出错。我该如何解决我的代码问题。 预先感谢

1 个答案:

答案 0 :(得分:3)

如果您按照以下方式分解公式,则会发现您缺少两个封闭的括号:

=VLOOKUP(
  A3,
  $I$9:$R$18,
  IF(
    D3=23800,
    10,
    IF(
      D3>10000,
      9,
      IF(
        AND(7000<D3,D3<10000),
        8,
        IF(
          AND(5000<D3,D3<7000),
          7,
          IF(
            AND(3000<D3,D3<5000),
            6,
            IF(
              AND(1000<D3,D3<3000,        <= here
              5,
              IF(
                AND(500<D3,D3<1000,       <= here
                4,
                IF(
                  D3<500,
                  3,
                  2
                )
              )
            )
          )
        )
      )
    )
  )
)

我建议不要让所有嵌套的IF都具有查找表,它还可以使逻辑更清晰。例如,最后一个IF具有:如果D3小于500,则它应返回3,否则返回2。如果D3不小于500,则肯定意味着它大于500,这实际上是当您有AND(500<D3,D3<1000)时处于先前检查过的状态,所以...

=VLOOKUP(D3,$G$3:$H$10,2,1)

enter image description here

在这种情况下,您的公式可能类似于:

=VLOOKUP(A3,$I$9:$R$18,VLOOKUP(D3,$G$3:$H$10,2,1))