Excel公式不被接受,但没有错误的理由

我有一个如果公式有一些标准它必须匹配。

当我把公式缩短时,它的作用超出了 – 如果(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")))))))))) 

你可以尝试结合IFVLOOKUP

 =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))) 

我在公式中embedded数组,但你可以像这样准备一个表(假设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))) 

IFNAIFERROR也可以使用,但它们在Excel 2003中不可用。

您的整个公式可以缩短为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”。