Excel,IF语句,vlookup – 参数太多

你能帮我简化或引导我走向正确的方向吗? 我的function是假设首先检查一个单词中的7个字符是否存在于LABEL表中,如果不是的话,先检查6,然后是5等等。这是因为表中可以包含CHARLYLCHARLY 。 当我把下面的公式,我得到一个错误“太多的参数”。 我没有意识到IF语句是有限制的…是否有一种简化的替代方法呢?

 =if(isna(VLOOKUP(LEFT(A2,7),LABEL!A:B,2,0)), if(isna(VLOOKUP(LEFT(A2,6),LABEL!A:B,2,0)), if(isna(VLOOKUP(LEFT(A2,5),LABEL!A:B,2,0)), if(isna(VLOOKUP(LEFT(A2,4),LABEL!A:B,2,0)), if(isna(VLOOKUP(LEFT(A2,3),LABEL!A:B,2,0)), "MISC",VLOOKUP(LEFT(A2,3),LABEL!A:B,2,0)), "MISC",VLOOKUP(LEFT(A2,4),LABEL!A:B,2,0)), "MISC",VLOOKUP(LEFT(A2,5),LABEL!A:B,2,0)), "MISC",VLOOKUP(LEFT(A2,6),LABEL!A:B,2,0)), "MISC",VLOOKUP(LEFT(A2,7),LABEL!A:B,2,0)) 

嵌套IFERROR函数可以大大减less与IF(ISNA(...), ...)相当的公式。

 =IFERROR(VLOOKUP(LEFT(A2,7),LABEL!A:B,2,0), IFERROR(VLOOKUP(LEFT(A2,6),LABEL!A:B,2,0), IFERROR(VLOOKUP(LEFT(A2,5),LABEL!A:B,2,0), IFERROR(VLOOKUP(LEFT(A2,4),LABEL!A:B,2,0), IFERROR(VLOOKUP(LEFT(A2,3),LABEL!A:B,2,0), "MISC"))))) 

这里是你的公式的修复版本。 您在默认的MISC参数中添加的次数超过了所需的次数。

 =IF(ISNA(VLOOKUP(LEFT(A2,7),LABEL!A:B,2,0)), IF(ISNA(VLOOKUP(LEFT(A2,6),LABEL!A:B,2,0)), IF(ISNA(VLOOKUP(LEFT(A2,5),LABEL!A:B,2,0)), IF(ISNA(VLOOKUP(LEFT(A2,4),LABEL!A:B,2,0)), IF(ISNA(VLOOKUP(LEFT(A2,3),LABEL!A:B,2,0)), "MISC", VLOOKUP(LEFT(A2,3),LABEL!A:B,2,0)), VLOOKUP(LEFT(A2,4),LABEL!A:B,2,0)), VLOOKUP(LEFT(A2,5),LABEL!A:B,2,0)), VLOOKUP(LEFT(A2,6),LABEL!A:B,2,0)), VLOOKUP(LEFT(A2,7),LABEL!A:B,2,0))