Excel公式不被接受但没有错误原因

时间:2016-02-19 11:22:33

标签: excel excel-formula excel-2003

我有一个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"))))))))))

2 个答案:

答案 0 :(得分:1)

您可以尝试合并after_createIF

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"。