请你帮我简化或指导我正确的方向。我的函数假设首先检查LABEL
表中是否存在单词中的7个字符,如果没有,则先检查6,然后检查5,等等...这是因为该表可以包含CHARLYL
和CHARLY
。
当我把公式放在下面时,我得到一个错误“参数太多”。我没有意识到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))
答案 0 :(得分:1)
与其IF(ISNA(...), ...)
等效项相比,嵌套IFERROR函数可以大大减少公式。
=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))