2016-02-19 2 views
1

У меня есть формула if с рядом критериев, которые она должна соответствовать.Формула Excel не принимается, но нет причины для ошибки

Когда я сократил формулу вниз он работает из-за - 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")))))))))) 

ответ

1

вы можете попробовать сочетание 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 или IFERROR также могут быть использованы, но они не доступны в Excel 2003.

1

Вся ваша формула может быть сокращена до двух функций VLOOKUP, поместив ваши данные в таблицу со столбцом идентификатора на, скажем, в столбце A листа 2 и столбце результатов столбца B листа 2. Это будет выглядеть следующим образом:

=IFERROR(VLOOKUP(LEFT(A6,2),'Sheet2'!A:B,2,0),IFERROR(VLOOKUP(LEFT(A6),'Sheet2'!A:B,2,0),"Ad Hoc")) 

Что это делает: первый попробуйте подобрать оставшиеся 2 символа в А6 к одному из ваших идентификаторов в колонке А в sheet2. Если это создает ошибку, она пытается сопоставить левый символ 1 в A6 с одним из ваших идентификаторов в столбце A листа 2. В любом случае, он возвращает соответствующее значение в столбце B листа2. Если совпадение не найдено, оно возвращает «Ad Hoc».