我有一个if公式,必须匹配许多标准。
当我缩短公式时,它的作用超出了 - IF(LEFT(A6,1)=" 2"
但是没有理由在此时出错?有什么帮助吗?
=IF(LEFT(A6,2)="10","Area 1",IF(LEFT(A6,2)="12","Area 2",IF(LEFT(A6,2)="13","Area 3",IF(LEFT(A6,2)="14","Area 4",IF(LEFT(A6,2)="15","Area 5",IF(LEFT(A6,2)="16","Area 6",IF(LEFT(A6,2)="17","Area 7",IF(LEFT(A6,1)="2","Bulk",IF(LEFT(A6,1)="4","Intl",IF(LEFT(A6,2)="7","CGCC","Ad-Hoc"))))))))))
答案 0 :(得分:1)
您可以尝试合并after_create
和IF
。
VLOOKUP
我在公式中嵌入了数组,但您可以像这样准备一个表(假设=IF(LEFT(A6,1)="4","Intl",IF(ISNA(VLOOKUP(LEFT(A6,2),{"7","CGCC";"10","Area 1";"12","Area 2";"13","Area 3";"14","Area 4";"15","Area 5";"16","Area 6";"17","Area 7"},2,FALSE)),"Ad-Hoc",VLOOKUP(LEFT(A6,2),{"7","CGCC";"10","Area 1";"12","Area 2";"13","Area 3";"14","Area 4";"15","Area 5";"16","Area 6";"17","Area 7"},2,FALSE)))
):
然后使用G1:H7
和参考:
VLOOKUP
也可以使用 =IF(LEFT(A6,1)="4","Intl",IF(ISNA(VLOOKUP(LEFT(A6,2),G1:H7,2,FALSE)),"Ad-Hoc",VLOOKUP(LEFT(A6,2),G1:H7,2,FALSE)))
或IFNA
,但它们在Excel 2003中不可用。
答案 1 :(得分:1)
您的整个公式可以缩短为2个VLOOKUP功能,方法是将您的数据放入表中,其中ID列位于Sheet2的A列,而您的结果列位于sheet2的B列。这看起来如下:
=IFERROR(VLOOKUP(LEFT(A6,2),'Sheet2'!A:B,2,0),IFERROR(VLOOKUP(LEFT(A6),'Sheet2'!A:B,2,0),"Ad Hoc"))
这样做是:首先尝试将A6中的左2个字符与sheet2中A列中的某个ID匹配。如果这会产生错误,它会尝试将A6中的左1字符与sheet2的A列中的某个ID匹配。无论哪种方式,它都返回sheet2的B列中的匹配值。如果未找到匹配项,则返回" Ad Hoc"。