2014-12-02 4 views
-1

У меня есть функция, которая использует If, Index, And и Match. Предполагается изменить желаемое значение, когда я переключаю встроенную раскрывающуюся таблицу с двумя параметрами («хорошие» и «плохие»). Если выбрано «хорошее», требуемая ячейка дает результат «3». Если выбрано «плохое», я ошибочно получаю ошибку «N/A». Я пробовал свой мозг, и все, что я могу придумать, есть некоторые проблемы с текстом/номером в матче .. любые предложения? Вот формула:Если индекс и соответствие

=IF(AND(MATCH(B2,$AO$2:$AO$31,0),MATCH("Good",$AU$2:$AU$31,0),C2="SG"),3,IF(AND(MATCH(B2,$AO$2:$AO$31,0),MATCH("Bad",$AU$2:$AU$31,0),C2="SG"),-5))

+1

излагать вниз голосования? что помогло бы. – gorganzola

+0

Немного смущает (например, индекс упоминается дважды, но не в формуле и теге), а Title может быть более четким, но этот -1 не является моим, и я «щедр» с downvotes. – pnuts

ответ

1

Вы не можете использовать MATCH как тест на его собственную, потому что он не возвращает TRUE/FALSE, он возвращает либо номер или #N/A ошибку, поэтому, если нет Сопоставьте ошибки формулы, используйте команду ISNUMBER, обернутую вокруг MATCH, чтобы вернуть TRUE/FALSE, как требуется в этой ситуации, например вместо первого MATCH использования

=ISNUMBER(MATCH(B2,$AO$2:$AO$31,0))

... и то же самое для других функций MATCH

... или вы можете использовать COUNTIF, который будет возвращать положительное число (спичку) или нуль (без соответствия), например

=COUNTIF($AO$2:$AO$31,B2)

В функции ЕСЛИ любое ненулевое число будет приравнивать к ИСТИНА и ЛОЖЬ ноль ухода

+0

1-й вариант с использованием ISNUMBER сработал до совершенства !! Абсолютно фантастическое объяснение того, почему это работает. У меня есть лучшее понимание и новая сила, чтобы закончить этого монстра. Большое спасибо Гудини! – gorganzola

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