我有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)))))))))
这是我的代码,每次尝试更正此错误时都会出错。我该如何解决我的代码问题。 预先感谢
答案 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)
在这种情况下,您的公式可能类似于:
=VLOOKUP(A3,$I$9:$R$18,VLOOKUP(D3,$G$3:$H$10,2,1))