2014-12-05 4 views
0

Вчера меня опротестовал запрос с 1 критерием, сегодня запрос с 2 критериями меня так же озадачивает, несмотря на вчерашний урок. Вот новая формула вложенным, если индекс матча:Excel, если индекс соответствует 2 критериям

{=IFERROR(IF(INDEX($C:$C,MATCH(1,(B2=$AO$2:$AO$31)*("Good"=$AT$2:$AT$31),0))="PG",3,IF(INDEX($C:$C,ISNUMBER(MATCH(1,(B2=$AO$2:$AO$31)*("Bad"=$AT$2:$AT$31),0)))="PG",-5)),"NaN")} 

В результате я получаю «3», когда вход «хорошо»; результат получается «NaN», когда вход «Bad». Я хочу, чтобы формула приводила к «-5», когда вводится «Bad», но проверка ошибок там где-то есть # N/A. Что я делаю не так?

ответ

0

Ваша формула слишком сложна и существует слишком много неизвестных диапазонов, поэтому я действительно не хочу исследовать, что именно должно происходить при каких обстоятельствах. Но если сравнивать 'хорошие' и 'плохие' (а некрасивых ??) условия, которые вы можете увидеть несоответствие:

Хорошо

IF(INDEX($C:$C,MATCH(1,(B2=$AO$2:$AO$31)*("Good"=$AT$2:$AT$31),0))="PG" 

Bad

IF(INDEX($C:$C,ISNUMBER(MATCH(1,(B2=$AO$2:$AO$31)*("Bad"=$AT$2:$AT$31),0)))="PG" 

Я думаю, по крайней мере один источник вашей проблемы

+0

Я нашел предпочтительный способ сделать это с помощью _countif (s) _, но желаемый результат должен быть похож на соединение AND, где должно выполняться каждое условие. Вот последние: '= IF ((COUNTIF ($ AO $ 2: $ AO $ 31, B14) * COUNTIF ($ AT $ 2: $ AT $ 31,« Хорошо ») * COUNTIF (C14,« PG »)), 3, IF ((COUNTIF ($ AO $ 2: $ AO $ 31, B14) * COUNTIF ($ AT $ 2: $ от $ 31, «Плохо») * COUNTIF (C14, «PG»)), - 5)) '.. это было бы проще, если все диапазоны были смежными. – gorganzola

Смежные вопросы